Menu dans include, modification en fonction de la page

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Menu dans include, modification en fonction de la page

par Stef » 05 sept. 2008, 19:35

Hum,

m'inspirant de vos réponses j'ai codé mon menu comme ça:
	    <?php 
		if (isset($_SESSION['nom']))
        {
		echo
		'<ul>
			<li';if ($titre == 'Music*boX v.3 :: accueil') echo ' class="item_active"'; echo '><a href="index.php"><span>Accueil</span></a></li>
			<li';if ($titre == 'Music*boX v.3 :: artistes') echo ' class="item_active"'; echo '><a href="artistes.php"><span>Liste des artistes</span></a></li>
			<li';if ($titre == 'Music*boX v.3 :: profil') echo ' class="item_active"'; echo '><a href="profil.php"><span>Profil</span></a></li>
			<li><a href="deconnect.php"><span>D&eacute;connection</span></a></li>
			<li';if ($titre == 'Music*boX v.3 :: about') echo ' class="item_active"'; echo '><a href="about.php"><span>About</span></a></li>
			<li><a href="mailto:"><span>Contact</span></a></li>
		</ul>';
		}
		else
		{
		echo
		'<ul>
			<li';if ($titre == 'Music*boX v.3 :: accueil') echo ' class="item_active"'; echo '><a href="index.php"><span>Accueil</span></a></li>
			<li';if ($titre == 'Music*boX v.3 :: artistes') echo ' class="item_active"'; echo '><a href="artistes.php"><span>Liste des artistes</span></a></li>
			<li';if ($titre == 'Music*boX v.3 :: connection') echo ' class="item_active"'; echo '><a href="connect.php"><span>Connection</span></a></li>
			<li';if ($titre == 'Music*boX v.3 :: inscription') echo ' class="item_active"'; echo '><a href="register.php"><span>Inscription</span></a></li>
			<li';if ($titre == 'Music*boX v.3 :: about') echo ' class="item_active"'; echo '><a href="about.php"><span>About</span></a></li>
			<li><a href="mailto:"><span>Contact</span></a></li> 
		</ul>';
		}
		?>
Beh ça marche! :shock:

Php c'est l'pied! :D Le débutant que je suis est souvent stupéfié (et ravi) de voir ses codes fonctionner; et ça me donne un sentiment satisfaction et me motive à continuer à apprendre. Mais en même temps quand j'vois tout ce que j'ai à apprendre je pousse un gros soupir de découragement... Mais c'est encourageant de trouver une communauté où l'on trouve aide et instruction! :wink: (c'était ma "séquence considération philosophique sur des bouts de code" XD)
Encore merci à tous!!

par Stef » 03 sept. 2008, 13:55

Hum, oui... j'vais cogiter à cette solution.

Merci pour ta réponse!!

par guilt92 » 03 sept. 2008, 13:51

Bonjour,

Je pense que l'idée est plus d'avoir un menu de ce genre :
<ul> 
    <li <?php if($_SESSION["nom"]=="Accueil") echo "class='item_active'"; ?>><a href="index.php"><span>Accueil</span></a></li> 
    <li <?php if($_SESSION["nom"]=="Liste_artiste") echo "class='item_active'"; ?>><a href="artistes.php"><span>Liste des artistes</span></a></li> 
    <li <?php if($_SESSION["nom"]=="Profil") echo "class='item_active'"; ?>><a href="profil.php"><span>Profil</span></a></li> 
    ...
</ul>
En gros dans le menu tu récupères le nom de session de la page, et si c'est celle qui correspond à l'item tu inscris "class='item_active' pour avoir l'effet escompté...

par Stef » 03 sept. 2008, 13:44

Merci pour l'idée! :wink:

ça risque juste de devenir un peu plus compliqué... voici ce qu'est devenu mon menu depuis tout à l'heure:
        <?php 
		if (isset($_SESSION['nom']))
        {
		echo
		'<ul>
			<li class="item_active"><a href="index.php"><span>Accueil</span></a></li>
			<li><a href="artistes.php"><span>Liste des artistes</span></a></li>
			<li><a href="profil.php"><span>Profil</span></a></li>
			<li><a href="deconnect.php"><span>D&eacute;connection</span></a></li>
			<li><a href="about.php"><span>About</span></a></li>
			<li><a href="mailto:"><span>Contact</span></a></li>
		</ul>';
		}
		else
		{
		echo
		'<ul>
			<li class="item_active"><a href="index.php"><span>Accueil</span></a></li>
			<li><a href="artistes.php"><span>Liste des artistes</span></a></li>
			<li><a href="connect.php"><span>Connection</span></a></li>
			<li><a href="register.php"><span>Inscription</span></a></li>
			<li><a href="about.php"><span>About</span></a></li>
			<li><a href="mailto:"><span>Contact</span></a></li>
		</ul>';
		}
		?>
Comment j'pourrais coder ça avec ton idée de variable?

par animithra » 03 sept. 2008, 12:43

pourquoi ne pas mettre une variable de session contenant la page sur laquelle tu te trouves et tester par la suite avec un if ?

Menu dans include, modification en fonction de la page

par Stef » 03 sept. 2008, 12:23

Hi

j'ai le code suivant dans la partie qui contient mon menu:

Code : Tout sélectionner

<ul> <li class="item_active"><a href="index.php"><span>Accueil</span></a></li> <li><a href="about.php"><span>About</span></a></li> <li><a href="contact.php"><span>Contact</span></a></li> </ul>
Le problème c'est que c'est un fichier inclus... comment puis-je passer le "class="item_active" aux autres éléments li en fonction de la page?
Autrement dit comment faire en sorte d'obtenir:

Code : Tout sélectionner

<li><a href="index.php"><span>Accueil</span></a></li> <li class="item_active"><a href="about.php"><span>About</span></a></li> <li><a href="contact.php"><span>Contact</span></a></li>
quand je passe sur la page "About" (par exemple)?