Aller au contenu

réaliser un menu courant en php


Sujets conseillés

Posté

bonjour,

je suis débutante en php ... et nouvelle sur le forum!

j'aimerais réaliser un menu sur différentes pages, avec un affichage personnifié selon la rubrique choisie

ainsi

- index

- page1

- page2

lorsqu'on est sur la page d'index le fond de l'onglet est orange

sur la page1, le fond de l'onglet est bleu, sur la page2, le fond de l'onglet vert ...

en haut de chaque page, j'ai inséré :

<?php $pageName = 'index'; ?> ... 'page1' ... 'page2'

à l'emplacement du menu :

<?php include ("menu.php");?>

pour le fichier menu.php :

<div id="menu">

<ul>

<li id="index">

<?php

if ($pageName == 'Index') {

echo "<a class='current' href='index.php'>INDEX</a>"; }

else {

echo "<a href='index.php'>INDEX</a>"; }

?></li>

<li id="page1">

<?php

if ($pageName == 'page1') {

echo "<a class='current' href='page1.php'>PAGE UN</a>"; }

else {

echo "<a href='page1.php'>PAGE UN</a>"; }

?></li>

<li id="page1">

<?php

if ($pageName == 'page2') {

echo "<a class='current' href='page2.php'>PAGE DEUX</a>"; }

else {

echo "<a href='page2.php'>PAGE DEUX</a>"; }

?></li>

</ul>

</div>

enfin dans la feuille de style, la class current est appliqué aux différentes id, et cela fonctionnait avant en html et css,

#index a.current, #index a:visited.current {

background-color:orange;

}

#page1 a.current, #page1 a:visited.current {

background-color:blue;

}

#page2 a.current, #page2 a:visited.current {

background-color:green;

}

je n'ai maintenant qu'un fonds d'onglet bleu qui apparaît ... quelqu'un peut-il m'aider?

merci

Posté

La seule chose que je peux vous dire c'est que le dernier li id relatif a la page 2 est nommé page 1...

Votre code :

<li id="page1">
<?php
if ($pageName == 'page2') {
echo "<a class='current' href='page2.php'>PAGE DEUX</a>"; }
else {
echo "<a href='page2.php'>PAGE DEUX</a>"; }
?></li>

alors que ce devrait être normalement :

<li id="page2">
<?php
if ($pageName == 'page2') {
echo "<a class='current' href='page2.php'>PAGE DEUX</a>"; }
else {
echo "<a href='page2.php'>PAGE DEUX</a>"; }
?></li>

Cela m'étonnerai que votre problème vienne de cette erreur, mais c'est déja ça de corrigé !

Posté

Bonjour,

je ne sais pas trop. Je vais quand même tenter un conseil, tant pis si c'est pas ça, on aura essayé :

Est-ce qu'au lieu de placer tes classes dans les <A..> il ne faudrait pas les mettre dans les balises <BODY> ?

A part ça, si tu veux tester le nom de ta page automatiquement, tu peux utiliser la fonction PHP : $_SERVER['REQUEST_URI'] ou basename($_SERVER['REQUEST_URI']). Ce sont des variables qui sont déterminées automatiquement.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...