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.
Avatar utente
puzuma
Linux 2.x
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

Messaggio da puzuma »

samiel ha scritto:il piccolo sito in html è fatto:
dacci un'occhiata all'indirizzo http://teatroinfolle.netsons.org.
Si accettano ulteriori critiche e consigli (è solo html e css).
Siccome ci sono gli stessi menu in tutte le pagine, volevo provare
a rendere la cosa più snella con php.
siccome non hai usato tabelle ti meriti un'applauso =D> da tutti gli appasionati di accessibilità.
The quiet ones are the ones who change the world. The loud ones only take the credit.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
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

Messaggio da conraid »

samiel ha scritto: Ho acquistato alcuni ponderosi volumi, dopo aver letto le guide
di html.it.
Spero che hai acquistato "Sviluppare applicazioni web con PHP e MySQL" di Wandschneider della Apogeo


@aschenaz

Tra l'altro le WCAG2.0 indicano questa strada
http://www.w3.org/TR/WCAG20-TECHS/G123.html

Purtroppo non trovo dove parlano di accesskey, che tra l'altro in XHTML hanno tolto in favore di un nuovo tag "access" -> http://www.w3.org/TR/xhtml2/mod-access. ... cessmodule

Perché uno standard in questo senso sarebbe auspicabile imho :-(
Io cerco di seguire gli standard che per adesso si sono imposti, partendo da questa pagina http://diveintomark.org/about/accessibility

qui trovi altre info http://clagnut.com/blog/193/

Ma alcune guide hanno altri standard. Quindi bisognerebbe capire per chi si vuole sviluppare un sito prima di segnare gli accesskey tramite semplici valori.
Per esempio un sito accessibile per il governo uk ha le sue access key come puoi vedere nel secondo sito.

Avatar utente
JohnnyMnemonic
Staff
Staff
Messaggi: 2733
Iscritto il: dom 5 set 2004, 0:00
Nome Cognome: Giuseppe Palmiotto
Slackware: 14.0
Kernel: 3.5.5-thanatos
Località: Bologna
Contatta:

Re: Menu in html ed effetto con php

Messaggio da JohnnyMnemonic »

conraid ha scritto:
samiel ha scritto: Ho acquistato alcuni ponderosi volumi, dopo aver letto le guide
di html.it.
Spero che hai acquistato "Sviluppare applicazioni web con PHP e MySQL" di Wandschneider della Apogeo
Ottima scelta, mi ci sono trovato molto bene =D>

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
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

Messaggio da conraid »

JohnnyMnemonic ha scritto:
conraid ha scritto:
samiel ha scritto: Ho acquistato alcuni ponderosi volumi, dopo aver letto le guide
di html.it.
Spero che hai acquistato "Sviluppare applicazioni web con PHP e MySQL" di Wandschneider della Apogeo
Ottima scelta, mi ci sono trovato molto bene =D>
Da una ottima visione d'insieme secondo me, mentre invece quello della HOPS, che è la traduzione della O'reilly mi ha deluso. E solitamente dalla o'reilly mi aspetto di più

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
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

Messaggio da aschenaz »

samiel ha scritto:...
dacci un'occhiata all'indirizzo http://teatroinfolle.netsons.org.
Si accettano ulteriori critiche e consigli (è solo html e css).
...
Bello, semplice ed immediato come piace a me.

L'unico appunto te lo farei per le voci del menu verticale: grigio su grigio... anche se fine, è quasi illeggibile.

Inoltre, un minimo di descrizione in home la metterei (quella del meta-tag riporta semplicemente il titolo...).

@ conraid: Ottimi consigli, grazie 1000! :)

Avatar utente
nuitari
Linux 3.x
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

Messaggio da nuitari »

@ aschenaz:

Scusami, forse ho usato toni un po' aspri, però mi sembrava di cogliere una certa supponenza. In ogni caso nulla di male, è un forum: ognuno espone il suo punto di vista.

Personalmente, non ritengo certo il tuo codice peggiore o più complicato degli altri presentati in questo topic, anzi. Semplicemente non condivido il metodo, tutto qui. Considerato quanto sforzo richiede un template engine semplice come quello che uso io sia in quanto ad apprendimento sia in quanto a implementazione, semplicemente ritengo che sia adatto anche per cose *piccole*. Sarò pignolo (sicuramente, considerato il lavoro che faccio) ma penso che agire con ordine e metodo anche nel piccolo sia la scelta *giusta* (anche se non sempre la più comoda o semplice) 10 volte su 10, per questioni di coerenza, leggibilità ed espandibilità. E' una questione di principio, se vogliamo, di "buone abitudini di programmazione". Per lo stesso motivo quando programmo in C controllo sempre i risultati delle funzioni, faccio assert etc etc. Si può fare anche senza ma... devo continuare? :)

@ puzuma:

quando si parla di template engine, chissà perchè ma viene sempre fuori smarty :) Se parliamo di smarty, son d'accordo con te: complica inutilmente le cose aggiungendo uno pseudo linguaggio simile a quello che era il php X anni fa, perchè non usare php in quel caso?

Ma io non parlo di smarty, perchè template engine non è sinonimo di smarty. Esistono template engine semplici come quello che uso io il cui scopo è solo la separazione del codice php da quello html, con semplici funzioni di parsing e poco altro. Nel caso di template engine come questo, il discorso cambia completamente, rendendo il lavoro decisamente più pulito/ordinato/semplice.

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
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

Messaggio da aschenaz »

No guarda, non ho proprio i numeri per esibire supponenza! :lol:

Mi rendo conto di essere rimasto proprio indietro (il fatto delle liste è emblematico) e vedrò di correre ai ripari.

Appena trovo un po' di tempo, voglio proprio studiarmeli questi template engine...

samiel
Staff
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

Messaggio da samiel »

Mi sa che ci sono errori..

Codice: Seleziona tutto

<?php
function headers () {
<div id="header">
<h1>TEATRO IN F<span class="emph">O</span>LLE</h1>

isset($_REQUEST["page"]) ? $page=$_REQUEST["page"] : $page="home";
    // menu
    $pgs=array(
    "home"=>"Home Page",
    "chisiamo"=>"Chi Siamo",
    "comenato"=>"Come &egrave; nato",
    "copioni"=>"Copioni",
    "immagini"=>"Immagini",
    "spettacoli"=>"Spettacoli",
    "contattaci"=>"Contattaci");
    $ak=1;
    echo "
       <ul id="menulist">";
    foreach($pgs as $kp=>$pg) {
       echo "
           <li class=\"menu\">";
       if($page!=$kp) echo "<a href=\"index.php?page=$kp\" accesskey=\"$ak\"
title=\"accesskey $ak\">";
       echo $pg;
       if($page!=$kp) echo "</a>";
       echo "</li>";
       $ak++;
    }
    echo "
     </ul>\n";
    include_once("$page.php");
};
?>


<?php
function footer () {
    echo
<<<EOD
<div id="footer">
<p>&#169; 2008 - Teatro in f<span class="emph">o</span>lle</p>
</div>
EOD;
};
?>
Non è che sono scappato, anzi mi stamperò questa discussione
per tempi migliori. Intanto vedo di capirci di più iniziando
dalle cose elementari. Sarebbe come dare un brano di Tucidide
a uno che si è iscritto da qualche settimana al classico...

M.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
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

Messaggio da conraid »

Invece dovevi seguire i nostri consigli ;-)

Codice: Seleziona tutto

echo "<tag attributo="valore">";
genera un errore

fai

Codice: Seleziona tutto

echo '<tag attributo="valore">';
usa le virgolette solo quando devi valorizzare una variabile, per esempio

Codice: Seleziona tutto

echo "questo è $nome";
anche se io preferisco

Codice: Seleziona tutto

echo 'questo è'.$nome;
scegli tu, ma il primo è un errore, se proprio vuoi usare le virgolette diventa

Codice: Seleziona tutto

echo "<tag attributo=\"valore\">";
non so se ci sono altri errori.

Ma perché ti complici la vita con funzioni, array, etc?
All'inizio non è più semplice una serie di echo in linea?

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
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

Messaggio da aschenaz »

Se lo metti all'interno di una funzione la cosa cambia...

Devi almeno assegnare la variabile $page all'esterno della funzione e passarla alla stessa come argomento:

Codice: Seleziona tutto

    <?php
    isset($_REQUEST["page"]) ? $page=$_REQUEST["page"] : $page="home";
    function headers ($page) {
?>
    <div id="header">
    <h1>TEATRO IN F<span class="emph">O</span>LLE</h1>
<?php
        // menu
        $pgs=array(
        "home"=>"Home Page",
        "chisiamo"=>"Chi Siamo",
        "comenato"=>"Come &egrave; nato",
        "copioni"=>"Copioni",
        "immagini"=>"Immagini",
        "spettacoli"=>"Spettacoli",
        "contattaci"=>"Contattaci");
        $ak=1;
        echo "
           <ul id=\"menulist\">";
        foreach($pgs as $kp=>$pg) {
           echo "
               <li class=\"menu\">";
           if($page!=$kp) echo "<a href=\"index.php?page=$kp\" accesskey=\"$ak\"
    title=\"accesskey $ak\">";
           echo $pg;
           if($page!=$kp) echo "</a>";
           echo "</li>";
           $ak++;
        }
        echo "
         </ul>\n";
        include_once("$page.php");
    };
    ?>


    <?php
    function footer () {
        echo
    <<<EOD
    <div id="footer">
    <p>&#169; 2008 - Teatro in f<span class="emph">o</span>lle</p>
    </div>
    EOD;
    };
    ?>
Poi, l'include lo devi richiamare al momento giusto...

A parte gli errori segnalati da conraid...

EDIT: credo di aver sistemato le parti in html... Prova ora.
Ultima modifica di aschenaz il mer 16 gen 2008, 15:15, modificato 1 volta in totale.

samiel
Staff
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

Messaggio da samiel »

Beh, mi fa piacere che non vi sia dispiaciuto il look del sito.
Lo sto facendo per delle mie studentesse appassionate di teatro
(e dopo si lamentano pure dei loro professori!). Ma è un'ottima
occasione per imparare. Non ho usato tabelle (o frame),
tutto CSS e HTML 1.0 Strict. Almeno in questo ambito qualcosa
da settembre ho imparato.

Per quanto attiene ai sacri testi, attualmente la mia scansia include:
Holzner, PHP5, Mondadori (subito e facile)
Canducci, PHP5, Apogeo (pocket)
Valade, PHP e MySQL (McGraw-Hill) - che non mi piace affatto
Yank, PHP e MySQL, Mondadori (i portatili)
Gutmans - Bakken - Rethans, PHP5, Apogeo - tutto orientato
sul linguaggio a oggetti, molto difficile, Rinviato e tempi migliori

Il Wandschneider lo sto aspettando. Pare difficile da trovare,
il rappresentante ha detto al mio libraio che cercava di recuperarne
una copia. Speriamo che arrivi...

M.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
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

Messaggio da conraid »

Messaggio rivolto a tutti.
Non notate degli errori nel codice appena mostrato?

Se leggo il sito normalmente alcuni
<?php e ?> spariscono, mentre ricompaiono se faccio quota e vedo il messaggio.
E' come se la modalita "code" di phpbb3 abbia qualche bug.

Voi come lo vedete?

Per esempio io vedo
<?php
isset($_REQUEST["page"]) ? $page=$_REQUEST["page"] : $page="home";
function headers ($page) {
<div id="header">
<h1>TEATRO IN F<span class="emph">O</span>LLE</h1>
// menu

Mentre in realtà appena faccio quota, diventa
<?php
isset($_REQUEST["page"]) ? $page=$_REQUEST["page"] : $page="home";
function headers ($page) {
?>
<div id="header">
<h1>TEATRO IN F<span class="emph">O</span>LLE</h1>
<?php
// menu


UPDATE:
Ora lo vedo bene
@aschenaz
Se lo stavi cambiando mentre scrivevo grrrrrrrrrrrrrrrrrrrrr :evil:
In questo caso phpbb3 mostra la modifiche in tempo reale?????

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
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

Messaggio da aschenaz »

conraid ha scritto:grrrrrrrrrrrrrrrrrrrrr
#-o

All'inizio avevo notato solo l'assegnazione di $page.

Solo dopo mi sono accorto che Samiel aveva ficcato dell'html puro all'interno del php...

:)

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
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

Messaggio da conraid »

aschenaz ha scritto:
conraid ha scritto:grrrrrrrrrrrrrrrrrrrrr
#-o

All'inizio avevo notato solo l'assegnazione di $page.

Solo dopo mi sono accorto che Samiel aveva ficcato dell'html puro all'interno del php...

:)
Ma la cosa buffa è che "sembra" che phpbb3 mostri le modifiche in tempo reale anche ai post sotto :-o

samiel
Staff
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

Messaggio da samiel »

Posto che fornirò il sito alle mie studentesse in HTML (dovrebbero
essere soddisfatte comunque, e poi non so quanti prof fanno un sito
ailoro studenti...) e che prossimamente incrementerò i miei studi
di PHP (che mi diverte molto, a occhio...), posto inoltre che poi
ritornerò alla prima soluzione, la più lineare, avendo adottato
adesso l'ultima versione di ashkenaz (ma non era più semplice
"ninobi"?), che devo mettere in index.php? Perché se mi limito
a richiamare la funzione headers, ricevo:

Codice: Seleziona tutto

Warning: include_once(.php) [function.include-once]: failed to open stream: No such file or directory in /var/www/netsons.org/teatroinfolle/functions.php on line 32
Warning: include_once() [function.include]: Failed opening '.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/netsons.org/teatroinfolle/functions.php on line 32
Poi qui mi fermo e finché non ho imparato qualcosa di serio
su PHP smetto di postare sul tema... e grazie a tutti

M.

Rispondi