Pag 1 [Pag 2] [Home Page]


Esempio di barra di navigazione

Si riporta quì di seguito un semplice script per la creazione di una barra di navigazione "intelligente".
Ossia, di una barra di navigazione che tenga traccia della pagina corrente, escludendola automaticamente dalle pagine visitabili.

<?php
$links = array ("index.html" => "Home Page",
"file1" => "pag 1",
" file2"=>"pag 2",
"file3" => "pag 3",
"file4" => "pag 4");

$pagina_corrente= basename ($PHP_SELF);
foreach ($links as $url => $page)
{
if ($url = = $pagina_corrente)
{
print "<b> $page </b>";
}else
{
print "[<a href=\" $url \">$page</a>]";
}
}
?>

Nella prima parte del codice è stato inizializzato un array associativo in cui: le chiavi rappresentano il percorso dei file con cui si vuole creare il collegamento mentre i valori il nome da associarvi.
E' stata di seguito inizializzata la variabile $pagina_corrente, che, con l'utilizzo della funzione basename($PHP_SELF), servirà all'interprete php per risalire alla posizione del file corrente.
La parte successiva del codice è rappresentata da un ciclo foreach tramite il quale l'interprete può passare in rassegna tutti gli elementi dell'array. Infine all'interno del ciclo stesso è stata inserita un'istruzione condizionale if seguita dall'alternativa else che rappresentano il fulcro del nostro script.
Difatti quando, nello scorrere l'array, l'interprete trova l'elemento che soddisfa la condizione "if", verrà visualizzato nel browser il nome della pagina corrente in grassetto. In tutti gli altri casi verranno visualizzati,tra parentesi quadre, i nomi dei links con cui la pagina corrente è collegata.
Va, infine, ricordato che l'istruzione foreach è stata introdotta con php4 nella versione precedente bisognava utilizzare il ciclo while .
Si riporta di seguito il codice equivalente in php3:

<?php
$links = array ("index.html" => "Home Page",
"file1" => "pag 1",
" file2"=>"pag 2",
"file3" => "pag 3",
"file4" => "pag 4");

$pagina_corrente= basename ($PHP_SELF);
while (list ($url,$page) = each ($links))
{
if ($url = = $pagina_corrente)
{
print "<b> $page </b>";
}else
{
print "[<a href=\" $url \">$page</a>]";
}
}
?>



Home page! Torna su!