Menu

marionanni

Nuovo Utente
31 Mar 2005
6
0
0
Salve vorrei creare un menu per adesso molto semplice di 4 pagine. Vorrei che nel menu scomparisse il link quando mi trovo sulla pagina a cui fa riferimento.
Per esempio se nel menu ho:

Pagina 1
Pagina 2
Pagina 3
Pagina 4

Se mi trovo nella 1 vorrei che nel menu non fosse segnata come pagina linkata cliccabile.
Sono riuscito ad ottenere questo effetto in un modo complicato e credo anche sbagliato. Ho costruito una menu.php e poi le 4 pagine.php.
Nel menu ho scritto il seguente codice:
-----------------------------------------------------------
<?php
if ($pagina1==1) {
print "<table>
<tr>
<td><strong>pagina1</strong></td>
</tr>
<tr>
<td><a href=\"pagina2.php\">pagina2</a></td>
</tr>
<tr>
<td><a href=\"pagina3.php\">pagina3</a></td>
</tr>
<tr>
<td><a href=\"pagina4.php\">pagina4</a></td>
</tr>
</table>";
}
if ($pagina2==1) {
print "<table>
<tr>
<td><a href=\"pagina1.php\">pagina1</a></td>
</tr>
<tr>
<td><strong>pagina2</strong></td>
</tr>
<tr>
<td><a href=\"pagina3.php\">pagina3</a></td>
</tr>
<tr>
<td><a href=\"pagina4.php\">pagina4</a></td>
</tr>
</table>";
}
if ($pagina3==1) {
print "<table>
<tr>
<td><a href=\"pagina1.php\">pagina1</a></td>
</tr>
<tr>
<td><a href=\"pagina2.php\">pagina2</td>
</tr>
<tr>
<td><strong>pagina3</strong></td>
</tr>
<tr>
<td><a href=\"pagina4.php\">pagina4</a></td>
</tr>
</table>";
}
if ($pagina4==1) {
print "<table>
<tr>
<td><a href=\"pagina1.php\">pagina1</a></td>
</tr>
<tr>
<td><a href=\"pagina2.php\">pagina2</td>
</tr>
<tr>
<td><a href=\"pagina3.php\">pagina3</a></td>
</tr>
<tr>
<td><strong>pagina4</strong></td>
</tr>
</table>";
}
?>
---------------------------------------------------------------------------------
Mentre nelle pagine ho inserito il codice (riporto solo la pagina 1 nelle altre cambia solo il valore della variabile):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<?php
$pagina1 = 1;
$pagina2 = 0;
$pagina3 = 0;
$pagina4 = 0;
?>


<head>
<title>Menu</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859">
</head>

<body>
1
<? include ('menu.php') ?>
</body>

------------------------------------------------

Funziona ma mi sembra molto farraginoso. C'è un modo più semplice?
Grazie mille
Mario
 
Le pagine sono tutte diverse ma quello che vorrei cambiasse è solo il menu.
Mi spiego, il menu è incluso in ogni pagina ed ha le voci

Pagina1
Pagina2
Pagina3
Pagina4

Vorrei che quando sono nella Pagina1 ad esempio nel menù venisse evidenziata la pagina in cui mi trovo tipo:

Pagina1
Pagina2
Pagina3
Pagina4
 
Grazie mille...

Il codice è ottimo dovrò imparare a formattarlo...
Stavo provando uno switch ma mi dà sempre un errore.
Non so se ho configurato male il php.ini, avresti unmomento per verificare se dà errore anche a te?

<?php
switch($day)
{
case 5:
print("5 giorni")
case 4:
print("4 giorni")
}
?>

l'errore generato è:
Parse error nella linea switch($day)
 
jan267 ha scritto:

Ciao jan267 trovato il menu molto comodo per l'uso che ne devo fare. Ho però una difficoltà non indifferente.
Allora il menu ha il seguente codice che includo nelle varie pagine:

------------------------
<?php
$nav[] = array("Homepage", "index.php");
$nav[] = array("Links", "links.php");
$nav[] = array("Contatti", "contatti.php");

function Navigation()
{
for ($id = 0; $id <= count($GLOBALS["nav"]) - 1; $id++)
{
$testo = $GLOBALS["nav"][$id][0];
$pagina = $GLOBALS["nav"][$id][1];
if ($pagina == basename($_SERVER['PHP_SELF']))
{
echo "<strong>$testo</strong><br>\n";
}
else
{
echo "<a href=\"$pagina\">$testo</a><br>\n";
}
}
}

Navigation();
?>
-----------------------------

Funziona molto bene ma il problema sorge quando invece di avere le pagine tutte allo stesso livello (radice del sito o tutte nella stessa cartella) voglio cambiare percorsi.
Ad esempio:

$nav[] = array("Homepage", "index.php");
$nav[] = array("Links", "COLLEGAMENTI/links.php");
$nav[] = array("Contatti", "CONTACTS/contatti.php");

No funziona più. Come si può ovviare al problema
Grazie mille...
 
Prova a sostituire:
if ($pagina == basename($_SERVER['PHP_SELF']))
con
if ($pagina == $_SERVER['PHP_SELF'])

e
$nav[] = array("Contatti", "CONTACTS/contatti.php");
con
$nav[] = array("Contatti", "/CONTACTS/contatti.php");
 

Discussioni simili