codice:
// creo la struttura dei menu
$menu=array(
"home"=>array(),
"biografia"=>array(),
"bioetica"=>array(
        "recensione01"=>array(),
        "recensione02"=>array(),
),
"laicita"=>array(
        "recensione_a"=>array(),
        "recensione_b"=>array(),
),
"storia"=>array(
    "abbagnano1"=>array("abbagnano1_indice"=>"Indice"),
    "abbagnano2"=>array("abbagnano2_indice"=>"Indice"),
    "dizionario"=>array(
	"dizionario_presentazione"=>"Presentazione
da parte
di Fornero",
        "dizionario_descrizione"=>"Descrizione"
)
);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it">
<head>
<?php
isset($_REQUEST["pagina"]) ? $pagina=$_REQUEST["pagina"] : $pagina="home";
$titolipagine=array(
"home"=>"[NUOVO SITO UFFICIALE] - Filosofia, bioetica e laicit&agrave;",
"biografia"=>"Biografia",
"bioetica"=>"Opere sulla bioetica",
"laicita"=>"Opere sulla laicit&agrave;",
"storia"=>"Opere di storiografia filosofica",
"scuola"=>"Manuali",
"interventi"=>"Interventi, prese di posizione e polemiche",
"siti"=>"Alcuni siti sulla bioetica",
"news"=>"News. Convegni, articoli e novit&agrave;"
);
$titolisezioni=array(
//bioetica
"recensione01"=>"Recensione di G. Vattimo a G. Fornero - \"Bioetica cattolica
e bioetica laica\"",
"fornero"=>"Fornero - Un passo in avanti. Risposte a Mordacci e Corbellini",
// laicita
"recensione_a"=>"Recensione di G. E. Rusconi a G. Fornero - \"Laicit&agrave; debole e laicit&agrave; forte\"",
// storia
"abbagnano1"=>"Abbagnano, \"Storia della filosofia, IV*\"",
"utet"=>"Un giudizio di Abbagnano sul metodo di lavoro di Fornero",
);
$titolisottosezioni=array(
"abbagnano1_indice"=>"Indice di Abbagnano, \"Storia della filosofia IV*\"",
"abbagnano2_indice"=>"Indice di Abbagnano, \"Storia della filosofia IV**\"",
);
$separatore="- ";
if(isset($_REQUEST["sottosezione"]))
$title=$separatore.$titolisottosezioni["{$_REQUEST["sottosezione"]}"];
elseif(isset($_REQUEST["sezione"]))
$title=$separatore.$titolisezioni["{$_REQUEST["sezione"]}"];
elseif(isset($_REQUEST["pagina"]))
$title=$separatore.$titolipagine["{$_REQUEST["pagina"]}"];
else $title=$separatore."[NUOVO SITO UFFICIALE] - Filosofia, bioetica e laicit&agrave;";
echo "<title>Giovanni Fornero $title</title>\n";

<meta name="generator" content="Quanta Plus" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="descriptions" content="<?php
isset($_REQUEST["pagina"]) ? $pagina=$_REQUEST["pagina"] : $pagina="home";
</head>

<body>
<div id="header">
<div id="navlist_wrapper">
	<div id="navlist">
	<ul>
	<?php
	// creo i titoli lunghi del menu orizzontale
	$barmenu=array("home"=>"Home","biografia"=>"Biografia","bioetica"=>
	"Bioetica", "laicita"=>"Laicit&agrave;","storia"=>"Produzione
	storiografica","scuola"=>"Manuali","interventi"=>"Interventi","siti"=>"Siti","news"=>"News");
	foreach($barmenu as $vocemenu=>$valore) {
		echo '[*]';
		if ( ( $sezione || $sottosezione ) && ( $vocemenu == $pagina ) ) {
			$addstyle = "style='color:#C51224; font-weight:none; text-decoration:none;'";
		} else {
		$addstyle = "";
		}
		if ($vocemenu == "home" ) {
			echo "<a href=\".\" $addstyle>";
		} else {
			echo "<a href=\"index.php?pagina=$vocemenu\" $addstyle>";
		}
		echo $valore;
		echo '</a>'."\n";
	}
	?>
	[/list]
	</div>
</div>
</div>

<div id="container">
<div id="wrapper">
<?php
// il menu sinistro e' dato dal valore della voce dell'array principale corrispondente alla pagina:
$menusinistro=$menu[$pagina];
// creo i titoli lunghi del menu sinistro
$titolimenusx=array(
// bioetica
"recensione01"=>"G. Vattimo 
 (La Stampa)",
"recensione02"=>"V. Possenti 
 (L'Avvenire)",
"fornero"=>"Fornero 
 (Notizie di Politeia)",
// laicita
"recensione_a"=>"G. E. Rusconi 
 (La Stampa)",
"recensione_m"=>"C. Pianciola 
 (L'Indice)",
// storia
"utet"=>"Un giudizio 
 di Abbagnano 
 sul metodo 
 di lavoro 
 di Fornero",
);
// estraggo le sue voci creando il menu sinistro attivo (con le sezioni della pagina): $uldiv = 1;
// Parto da 1 con $ul e non da 0 zero (come si fa normalmente) perché count da' il valore effettivo del numero di voci e non l'indice dell'ultima voce
if (count($menusinistro) > 0) {
	echo '<div id="leftmenu">'."\n".'<ul>';
	foreach($menusinistro as $vocesx=>$valoresx) {
		echo '[*]';
		// se vocesx e' diverso da pagina o se esiste una sottosezione
		if ( !$sezione || $vocesx!=$sezione || $sottosezione ) {
			// uso questa condizione se voglio colorare diversamente le parti parent
			if ( $sottosezione  && ( $vocesx == $sezione ) ) {
				$addstyle2 = "style='font-weight:bold;'";
			} else {
				$addstyle2 = "";
			}
			echo "<a href=\"index.php?pagina=$pagina&amp;sezione=$vocesx\" $addstyle2>";
		}
		echo $titolimenusx[$vocesx];
		if ( !$sezione || $vocesx!=$sezione || $sottosezione ) {
			echo "</a>"."\n";
		}
		echo ""."\n";
	}
	echo "[/list]</div>"."\n";
}

?>