Warning: include(../../html/haut.php) [function.include]: failed to open stream: No such file or directory in /htdocs/public/www/ressources/ressources_php/tuto_menu.php on line 20

Warning: include() [function.include]: Failed opening '../../html/haut.php' for inclusion (include_path='.:/usr/local/lib/php') in /htdocs/public/www/ressources/ressources_php/tuto_menu.php on line 20
Ressources pour webmasters

Retour Ressources PHP

Création d'un menu

On va créer un fichier menus.php qui sera "dupliqué" sur les pages du site avec la fonction include(), ce qui permettra une mise à jour instantanée en cas de modification. Le but est de faire en sorte que lorsqu'une page est appelée, le lien qui lui correspond devienne graphiquement différent et non cliquable.

fichier menus.php

<?php

/*
On définit 6 variables correspondant aux liens des 6 pages du menu.
En précisant ?page=nom_de_la_page dans chaque adresse, on transmettra une variable par la méthode GET quand le lien en question sera cliqué. Cette variable ($_GET['page']) aura comme valeur : nom_de_la_page.

*/

$accueil = '<a href="accueil.php?page=accueil">Accueil</a>';
$html = '<a href="html.php?page=html">Html et Css</a>';
$php= '<a href="php.php?page=php">PHP</a>';
$flash = '<a href="flash.php?page=flash">Flash</a>';
$ref = '<a href="referencement.php?page=referencement">R&eacute;f&eacute;rencement</a>';
$contacts ='<a href="contacts.php?page=contacts">Contacts</a>';

/*
On récupère la valeur de la variable $_GET['page'].
Si par exemple la page html a été appelée, $_GET['page'] = html.
Pour que le lien $html ne soit plus cliquable il faut lui donner une autre valeur.
$html = '<span class="StyleClick">Html et Css</span>';
Le lien $html est désormais un texte, mis en forme avec le StyleClick (voir plus bas).
En fonction de la valeur de $_GET['page'] les liens initiaux seront ou non "transformés".

*/

if($_GET['page']== "accueil") { $accueil ='<span class="StyleClick">Accueil</span>'; }
if($_GET['page']== "html") { $html ='<span class="StyleClick">Html et Css</span>'; }
if($_GET['page']== "php") { $php ='<span class="StyleClick">PHP</span>'; }
if($_GET['page']== "flash") { $flash ='<span class="StyleClick">Flash</span>'; }
if($_GET['page']== "referencement") { $ref ='<span class="StyleClick">R&eacute;f&eacute;rencement</span>'; }
if($_GET['page']== "contacts") { $contacts ='<span class="StyleClick">Contacts</span>'; }

/*
On construit ensuite notre div "menus" avec mise en forme par css des liens actifs (#menus a) et survolés (#menus a:hover).
*/

?>

< div id="menus">
&bull; <?php echo $accueil; ?>
&bull;<?php echo $html; ?>
&bull;<?php echo $php; ?>
&bull;<?php echo $flash; ?>
&bull;<?php echo $ref; ?>
&bull;<?php echo $contacts; ?>
&bull;
</div>

La feuille de style ressemble ceci :

fichier.css


#menus {
text-align: center;
background-color: #000000;
padding-top: 5px;
padding-bottom: 5px;
}
#menus a {
font-variant: small-caps;
text-decoration: none;
padding: 5px;
font-weight: bold;
color: #CCCCCC;
}
#menus a:hover {
color: #FFFFFF;
background-color: #666666;
}
.StyleClick{
font-variant: small-caps;
text-decoration: none;
padding: 5px;
font-weight: bold;
color: #FFFFFF;
background-color: #666666;
}

Remarque : on accède à la page accueil depuis une autre page (index par exemple) avec un lien qui doit lui aussi transmettre la variable $_GET['page']. Le code de ce lien est par exemple :
<a href="accueil.php?page=accueil">Accueil</a>.
Ainsi quand on arrive sur la page accueil, le texte "Accueil" est graphiquement reconnaissable et non cliquable.