sofala Posté 5 Avril 2007 Posté 5 Avril 2007 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
nicobillou Posté 5 Avril 2007 Posté 5 Avril 2007 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"><?phpif ($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"><?phpif ($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é !
sofala Posté 5 Avril 2007 Auteur Posté 5 Avril 2007 merci j'ai corrigé, il y avait effectivement une erreur, mais rien n'a changé !
lionel.a Posté 7 Avril 2007 Posté 7 Avril 2007 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.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant