Repository 32bit  Forum
Repository 64bit  Wiki

Menu in html ed effetto con php

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Re: Menu in html ed effetto con php

Messaggioda giberg » mar gen 15, 2008 11:34

Sta diventando molto interessante il thread. Prendo appunti per ripasticciare nel mio sito. Grazie ragazzi! ;)
Avatar utente
giberg
Linux 3.x
Linux 3.x
 
Messaggi: 1282
Iscritto il: mer set 21, 2005 16:28
Località: S. Biagio di Callalta (TV)
Nome Cognome: Gianni
Slackware: current64
Kernel: 3.7.1
Desktop: 4.8.5

Re: Menu in html ed effetto con php

Messaggioda conraid » mar gen 15, 2008 11:41

giberg ha scritto:Sta diventando molto interessante il thread. Prendo appunti per ripasticciare nel mio sito. Grazie ragazzi! ;)


IMHO bisognerebbe riprendere l'idea di nuitari sui corsi di programmazione, era sua vero?

Proprio perché di interesse in questi giorni potremmo iniziare con PHP e/o C

Un argomento discusso in wikislacky nel forum e dopo messo nel wiki come lezione.

Chissà che ne viene fuori con tutte le idee diverse che abbiamo :-)
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Menu in html ed effetto con php

Messaggioda puzuma » mar gen 15, 2008 11:44

conraid ha scritto:IMHO mai includere un file con un nome preso da una variabile non controllata.


in realtà il controllo c'è, guarda meglio l'inizio del file index.php e ricorda che tutte le richieste passano per quel file.
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 481
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Menu in html ed effetto con php

Messaggioda giberg » mar gen 15, 2008 11:48

Questo qui, giusto?

Codice: Seleziona tutto
/* se la pagina richiesta è valida settala */
if(in_array($_GET['page'], $pages)){
   $page = $_GET['page'];
}
Avatar utente
giberg
Linux 3.x
Linux 3.x
 
Messaggi: 1282
Iscritto il: mer set 21, 2005 16:28
Località: S. Biagio di Callalta (TV)
Nome Cognome: Gianni
Slackware: current64
Kernel: 3.7.1
Desktop: 4.8.5

Re: Menu in html ed effetto con php

Messaggioda conraid » mar gen 15, 2008 11:52

puzuma ha scritto:
conraid ha scritto:IMHO mai includere un file con un nome preso da una variabile non controllata.


in realtà il controllo c'è, guarda meglio l'inizio del file index.php e ricorda che tutte le richieste passano per quel file.


Chi mi assicura che un utente non provi a lanciare direttamente html_home.php?
Sarà una possibilità remota ma esiste. E comunque per questo avevo usato l'espressione "nella mia umile opinione", perché è una precauzione in più che io prenderei, tutto qui.
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Menu in html ed effetto con php

Messaggioda puzuma » mar gen 15, 2008 12:03

conraid ha scritto:Chi mi assicura che un utente non provi a lanciare direttamente html_home.php?
Sarà una possibilità remota ma esiste. E comunque per questo avevo usato l'espressione "nella mia umile opinione", perché è una precauzione in più che io prenderei, tutto qui.


ottima osservazione, in realtà ho fatto un po' il furbetto (e tu mi subito scoperto :-) ) perchè tale file andrebbe messo in directory diversa dalla "document root" del server in modo che sia solo possibile includerlo e non eseguirlo, solo che l'esempio mi diventava troppo complicato. Per fare le cose per bene l'unico file php nella document root dovrebbe essere index.php.

In ogni caso la tua soluzione mi sembra ottima in quanto è l'unica che funzionava quasi senza "setup", la mia è una soluzione spesso usata in questi casi ma sicuramente più complessa.
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 481
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Menu in html ed effetto con php

Messaggioda conraid » mar gen 15, 2008 12:09

puzuma ha scritto:
conraid ha scritto:Chi mi assicura che un utente non provi a lanciare direttamente html_home.php?
Sarà una possibilità remota ma esiste. E comunque per questo avevo usato l'espressione "nella mia umile opinione", perché è una precauzione in più che io prenderei, tutto qui.


ottima osservazione, in realtà ho fatto un po' il furbetto (e tu mi subito scoperto :-) ) perchè tale file andrebbe messo in directory diversa dalla "document root" del server in modo che sia solo possibile includerlo e non eseguirlo, solo che l'esempio mi diventava troppo complicato. Per fare le cose per bene l'unico file php nella document root dovrebbe essere index.php


Altra osservazione, sempre IMHO naturalmente :-)
Finché fai tutto tu ok.
Ma mettiamo che devi costruire un software da distribuire. Prendi il tar.gz e lo scompatti in una dir, solitamente funzionano così. E fuori la root difficilmente puoi scrivere file se non ti danno il permesso (metti sei in hosting)
Ecco che questi controlli diventano essenziali, anche perché gli utenti, essendo il software free, sono a conoscenza dei file, dei loro nomi e della loro struttura.

Certo, qui si va su altre questioni e siamo un po' OT, ma si fa per parlare :-)
Sicuramente tutti noi agiamo diversamente a seconda della situazione.
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Menu in html ed effetto con php

Messaggioda puzuma » mar gen 15, 2008 12:40

conraid ha scritto:Ma mettiamo che devi costruire un software da distribuire. Prendi il tar.gz e lo scompatti in una dir, solitamente funzionano così. E fuori la root difficilmente puoi scrivere file se non ti danno il permesso (metti sei in hosting)
Ecco che questi controlli diventano essenziali, anche perché gli utenti, essendo il software free, sono a conoscenza dei file, dei loro nomi e della loro struttura.


corretto, in questi casi bisogna pasticciare con il file .htaccess (se si usa apache) ma questa è un'altra storia ... ho fatto qualcosa di simile su netsons ma ho dovuto un po sudare, all'autore del thread consiglio di provare con le proposte di conraid per avere qualcosa che funziona subito e se vuole divertirsi a complicarsi la vita provare con la mia proposta.

se qualcuno poi è interessato all'argomento apraimo un altro thread o inaguriamo la sezione della wiki come dice conraid.
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 481
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Menu in html ed effetto con php

Messaggioda samiel » mar gen 15, 2008 15:12

Grazie a tutti, troppa grazia sant'Antonio!
Stasera vedo con calma e provo, provo, riprovo..


M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: Menu in html ed effetto con php

Messaggioda giberg » mar gen 15, 2008 15:19

puzuma ha scritto:se qualcuno poi è interessato all'argomento apraimo un altro thread o inaguriamo la sezione della wiki come dice conraid.

Era proprio quello che volevo dire io. E' interessante l'argomento e interromperlo così lascia l'acquolina in bocca, soprattutto per i neofiti.
E' utile capire come tener conto della sicurezza e quindi posizione dei file, controlli ecc. nella progettazione di un sito che fa uso di php.
Avatar utente
giberg
Linux 3.x
Linux 3.x
 
Messaggi: 1282
Iscritto il: mer set 21, 2005 16:28
Località: S. Biagio di Callalta (TV)
Nome Cognome: Gianni
Slackware: current64
Kernel: 3.7.1
Desktop: 4.8.5

Re: Menu in html ed effetto con php

Messaggioda nuitari » mar gen 15, 2008 16:22

Ok produciamo un consiglio utile.
Facciamo un esempio di questa pagina con i template, utilizzando questo template engine: http://www.formsframework.org/cFormsTemplate.php.gz
Per cambiare la colorazione di un menù è sufficiente usare il vostro codice, ma splittando il tutto in due file distinti

Codice: Seleziona tutto
<?php
require("cFormsTemplate.php5");

$tpl = new cFormsTemplate(dirname(__FILE__)); // istanzia l'oggetto template facendolo puntare alla dir corrente
$tpl->load_file("template.html", "main"); // carica il template chiamato "template.html" dalla dir corrente

$tpl->set_var("selected_" . basename($_SERVER["SCRIPT_NAME"], ".php5"), "selezionato"); // imposta la variabile relativa al menù selezionato

$tpl->pparse("main", false); // processa il template e lo visualizza
?>


Codice: Seleziona tutto
<li class="{selected_index}"><a href="index.php5">Home</a></li>
<li class="{selected_chisiamo}"><a href="chisiamo.php5">Com'&#232; nato</a></li>
<li class="{selected_comenato}"><a href="comenato.php5">Com'&#232; nato</a></li>
<li class="{selected_copioni}"><a href="copioni.php5">Copioni</a></li>


Secondo me, questi due file sono più puliti e leggibili, e per esperienza lavorativa posso dire che sono anche più facilmente mantenibili.
Ultima modifica di nuitari il mer gen 16, 2008 18:11, modificato 1 volta in totale.
Avatar utente
nuitari
Linux 2.6
Linux 2.6
 
Messaggi: 777
Iscritto il: dom ott 14, 2007 11:51
Località: San Colombano al Lambro
Slackware: 12.0

Re: Menu in html ed effetto con php

Messaggioda puzuma » mar gen 15, 2008 17:21

giberg ha scritto:Era proprio quello che volevo dire io. E' interessante l'argomento e interromperlo così lascia l'acquolina in bocca, soprattutto per i neofiti.
E' utile capire come tener conto della sicurezza e quindi posizione dei file, controlli ecc. nella progettazione di un sito che fa uso di php.


non vorrei andare troppo fuori tema (samiel mi odierà ... ) e ripetere cose che si trovano in internet, comunque io di solito strutturo i miei siti circa così:

/.htaccess
/public
/public/index.php
/public/images
/public/stylesheets
/public/javascripts
/lib
/lib/.htaccess

il file index.php è a grandi linee quello che ho postato prima, con in più all'inizio:

Codice: Seleziona tutto
ini_set( "include_path", ini_get('include_path').":../lib" );


per avere pronti per l'inclusione tutti i file che trovo sotto lib.

il file .htaccess che trovi sulla root è fatto così:

Codice: Seleziona tutto
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ public/index.php
RewriteRule ^(styles|javascripts|images)/(.*)$ public/$1/$2


-la prima riga abilita mod_rewrite (e chi ti da l'hosting deve lasciartelo fare, ad esempio altervista no e netsons si)
-la seconda riga istruisce apache in modo che per ogni rischiesta che non sia uno stile, un javascript o un'immagine rediriga tutto su public/index.php
-la terza riga istruisce apache in modo che tutti gli altri files vengano caricati dal posto giusto

così facendo l'unico script che potrà mai essere eseguito da una richiesta http è public/index.php, lì metti tutti i controlli che vuoi e diventa tutto molto più sicuro.

il file .htaccess sotto lib invece contiene una regola che adesso non ricordo per impedire l'accesso ai file lì presenti (in realtà non serve è solo per paranoia).

sotto lib puoi strutturare gli script come vuoi a seconda del sito che intendi realizzare.

facile no ? ;-)
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 481
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Menu in html ed effetto con php

Messaggioda aschenaz » mar gen 15, 2008 18:03

@ niutari

Prova a validare l'accessibilità di una pagina con quel menu...
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4433
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.18
Desktop: KDE 4.10.5

Re: Menu in html ed effetto con php

Messaggioda conraid » mar gen 15, 2008 18:25

aschenaz ha scritto:@ niutari

Prova a validare l'accessibilità di una pagina con quel menu...



Ma alla fine è come il mio e come tanti altri postati qui dentro.
Mancano tutti i criteri di accessibilità è vero, ma non mi sembra che dipenda dal metodo usato per arrivare all'html. Poi uno ci aggiunge title, accesskey, etc...
O mi sono perso qualcosa? :-k
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Menu in html ed effetto con php

Messaggioda nuitari » mar gen 15, 2008 18:30

-_-''' non stavo postando un esempio di html valido & accessibile, pensavo fosse palese... Se è per questo, per come è strutturata quella pagina macano tutti i tag (html, head, body) etc etc.
Era solo un esempio di utilizzo del template per mostrare la differenza fra l'avere il codice php mischiato all'html e viceversa.
Avatar utente
nuitari
Linux 2.6
Linux 2.6
 
Messaggi: 777
Iscritto il: dom ott 14, 2007 11:51
Località: San Colombano al Lambro
Slackware: 12.0

PrecedenteProssimo

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti