Menu qui change selon la page.

Eléphant du PHP | 119 Messages

29 mai 2006, 15:56

Bonjour,

j'ai une petite question.

en fait j'ai un menu a gauche de mon site dans lequel j'ai des liens mais je voudrais qu'il change selon la page ou l'on se trouve sachant que j'utilise les pseudo frame.

donc par exemple si je suis sur la page catalogue je peux avoir toutes les marque dans le menu et si je passe a la page moncompte avoir des liens qui concernent mon compte.

j'avais pensé à faire des test selon l'url cad

Code : Tout sélectionner

if (url=index.php?page=catalogue)
mais je voudrais un avis avant de partir dans une usine a gaz ..

Cordialement

C.Daniel

Mammouth du PHP | 965 Messages

29 mai 2006, 16:02

soit tu fais un menu pour chaque page (c'est pas terrible quand même) soit tu fais un affichage different pour chaque page...

Donc en fait si tu passe par l'affichage selon la page tu vas devoir passer par un GET ou alors savoir ou tu te situe sur ton site ...

enfin je vois que ca, note que si c'est des elements assez simple le if(isset($_GET est une bonne alternative.

Mammouth du PHP | 1353 Messages

29 mai 2006, 16:02

Bonjour,
je pense qu'utiliser les variables dans l'url n'est pas une mauvaise idée, en revanche ta méthode n'est pas correcte. Si tu arrives en php sur une page dont l'adresse est mapage.php?page=catalogue, si tu veux récupérer la valeur de page il te suffit d'utiliser la variable $_GET["page"].

De meme si tu passes plusieurs variables.

En revanche je te conseille si tu utilises cette méthode de penser a vérifier que les variables sont bien définies avant de les utiliser, dans le cas ou quelqu un modifierait directement l'url. Tu peux pour cela faire appel a la fonction isset($variable) qui te renvoi "faux" si la variable n'est pas définie.

Ainsi dans ton exemple pour ton menu la ligne serait du type :
if(isset($_GET["page"])&&$_GET["page"]=="catalogue")
{
//alors personnalisation du menu
}
Bon courage ! :)

Eléphant du PHP | 119 Messages

29 mai 2006, 16:04

merci à Guilt92 et à agité pour leur reponse, donc je pense que je vais aller dans votre sens.

Encore merci