Menu in html ed effetto con php
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.
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.
- giberg
- Linux 4.x

- Messaggi: 1282
- Iscritto il: mer 21 set 2005, 17:28
- Nome Cognome: Gianni
- Slackware: current64
- Kernel: 3.7.1
- Desktop: 4.8.5
- Località: S. Biagio di Callalta (TV)
Re: Menu in html ed effetto con php
Sta diventando molto interessante il thread. Prendo appunti per ripasticciare nel mio sito. Grazie ragazzi! 
- conraid
- Staff

- Messaggi: 13526
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Menu in html ed effetto con php
IMHO bisognerebbe riprendere l'idea di nuitari sui corsi di programmazione, era sua vero?giberg ha scritto:Sta diventando molto interessante il thread. Prendo appunti per ripasticciare nel mio sito. Grazie ragazzi!
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
- puzuma
- Linux 2.x

- Messaggi: 482
- Iscritto il: mar 4 lug 2006, 17:14
- Nome Cognome: Stefano Salvador
- Slackware: current
- Kernel: 2.6.32.2
- Desktop: KDE 4.4.0
- Località: Udine
- Contatta:
Re: Menu in html ed effetto con php
in realtà il controllo c'è, guarda meglio l'inizio del file index.php e ricorda che tutte le richieste passano per quel file.conraid ha scritto: IMHO mai includere un file con un nome preso da una variabile non controllata.
The quiet ones are the ones who change the world. The loud ones only take the credit.
- giberg
- Linux 4.x

- Messaggi: 1282
- Iscritto il: mer 21 set 2005, 17:28
- Nome Cognome: Gianni
- Slackware: current64
- Kernel: 3.7.1
- Desktop: 4.8.5
- Località: S. Biagio di Callalta (TV)
Re: Menu in html ed effetto con php
Questo qui, giusto?
Codice: Seleziona tutto
/* se la pagina richiesta è valida settala */
if(in_array($_GET['page'], $pages)){
$page = $_GET['page'];
}
- conraid
- Staff

- Messaggi: 13526
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Menu in html ed effetto con php
Chi mi assicura che un utente non provi a lanciare direttamente html_home.php?puzuma ha scritto:in realtà il controllo c'è, guarda meglio l'inizio del file index.php e ricorda che tutte le richieste passano per quel file.conraid ha scritto: IMHO mai includere un file con un nome preso da una variabile non controllata.
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.
- puzuma
- Linux 2.x

- Messaggi: 482
- Iscritto il: mar 4 lug 2006, 17:14
- Nome Cognome: Stefano Salvador
- Slackware: current
- Kernel: 2.6.32.2
- Desktop: KDE 4.4.0
- Località: Udine
- Contatta:
Re: Menu in html ed effetto con php
ottima osservazione, in realtà ho fatto un po' il furbetto (e tu mi subito scopertoconraid 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.
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.
- conraid
- Staff

- Messaggi: 13526
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Menu in html ed effetto con php
Altra osservazione, sempre IMHO naturalmentepuzuma ha scritto:ottima osservazione, in realtà ho fatto un po' il furbetto (e tu mi subito scopertoconraid 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.) 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
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.
- puzuma
- Linux 2.x

- Messaggi: 482
- Iscritto il: mar 4 lug 2006, 17:14
- Nome Cognome: Stefano Salvador
- Slackware: current
- Kernel: 2.6.32.2
- Desktop: KDE 4.4.0
- Località: Udine
- Contatta:
Re: Menu in html ed effetto con php
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.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.
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.
-
samiel
- Staff

- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Menu in html ed effetto con php
Grazie a tutti, troppa grazia sant'Antonio!
Stasera vedo con calma e provo, provo, riprovo..
M.
Stasera vedo con calma e provo, provo, riprovo..
M.
- giberg
- Linux 4.x

- Messaggi: 1282
- Iscritto il: mer 21 set 2005, 17:28
- Nome Cognome: Gianni
- Slackware: current64
- Kernel: 3.7.1
- Desktop: 4.8.5
- Località: S. Biagio di Callalta (TV)
Re: Menu in html ed effetto con php
Era proprio quello che volevo dire io. E' interessante l'argomento e interromperlo così lascia l'acquolina in bocca, soprattutto per i neofiti.puzuma ha scritto: se qualcuno poi è interessato all'argomento apraimo un altro thread o inaguriamo la sezione della wiki come dice conraid.
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.
- nuitari
- Linux 3.x

- Messaggi: 777
- Iscritto il: dom 14 ott 2007, 12:51
- Slackware: 12.0
- Località: San Colombano al Lambro
- Contatta:
Re: Menu in html ed effetto con php
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
Secondo me, questi due file sono più puliti e leggibili, e per esperienza lavorativa posso dire che sono anche più facilmente mantenibili.
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'è nato</a></li>
<li class="{selected_comenato}"><a href="comenato.php5">Com'è nato</a></li>
<li class="{selected_copioni}"><a href="copioni.php5">Copioni</a></li>
Ultima modifica di nuitari il mer 16 gen 2008, 18:11, modificato 1 volta in totale.
- puzuma
- Linux 2.x

- Messaggi: 482
- Iscritto il: mar 4 lug 2006, 17:14
- Nome Cognome: Stefano Salvador
- Slackware: current
- Kernel: 2.6.32.2
- Desktop: KDE 4.4.0
- Località: Udine
- Contatta:
Re: Menu in html ed effetto con 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ì: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.
/.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" );
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 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.
- aschenaz
- Staff

- Messaggi: 4621
- Iscritto il: mer 28 lug 2004, 0:00
- Nome Cognome: Nino
- Slackware: current
- Kernel: 5.4.x
- Desktop: KDE
- Località: Reggio Calabria
- Contatta:
Re: Menu in html ed effetto con php
@ niutari
Prova a validare l'accessibilità di una pagina con quel menu...
Prova a validare l'accessibilità di una pagina con quel menu...
- conraid
- Staff

- Messaggi: 13526
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Menu in html ed effetto con php
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?
- nuitari
- Linux 3.x

- Messaggi: 777
- Iscritto il: dom 14 ott 2007, 12:51
- Slackware: 12.0
- Località: San Colombano al Lambro
- Contatta:
Re: Menu in html ed effetto con php
-_-''' 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.
Era solo un esempio di utilizzo del template per mostrare la differenza fra l'avere il codice php mischiato all'html e viceversa.