Aide menu horizontal déroulant [Résolu/Fermé]

Signaler
Messages postés
23
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
20 juin 2013
-
Messages postés
93
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
16 juin 2011
-
Bonjour,

Je suis actuellement en train de réaliser un site web dans le cadre d'un projet pour mon BTS. Après de nombreuses recherches sans succès sur internet, je sais plus quoi faire =(.
J'aimerais votre aide. J'essaye de créer un menu horizontal déroulant dont les éléments s'affichent ou non selon l'utilisateur cad par exemple l'admin aura accès à tous le menu et un utilisateur lambda verra un menu avec beaucoup moins d'élément.

Je vous remercie d'avance pour votre aide.

1 réponse

Messages postés
3549
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
444
Rien de plus simple en PHP.
Les informations du membre sont stocké dans une base de donnée.
Il te suffit d'utiliser ces informations.
L'une de celles-ci te permet certainement d'identifier le type de membre (simple membre, admin, etc...)

Exemple:
Dans la base de donnée, une colonne type identifie le type de membre par un valeur numérique.
1 = simple membre
2 = modérateur
3 = administrateur

Le menu est composé comme suis:
<ul>
	<li><a href="page1.php">Page 1</a></li>
	<li><a href="page2.php">Page 2</a></li>
	<li><a href="page3.php">Page 3</a></li>
	<li><a href="moderation.php">Modération</a></li>
	<li><a href="admin.php">Administration</a></li>
</ul>

Le modérateur doit donc avoir accès au lien Modération et l'administrateur à celui-ci ainsi que le suivant.
Il suffit d'utiliser une requête pour récupérer le type de membre à partir de la base de donnée et d'utiliser ensuite une condition.

<?php
$sql='SELECT * FROM membres WHERE id_membre="'.mysql_real_escape_string($_SESSION['id_membre']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

echo'<ul>
	<li><a href="page1.php">Page 1</a></li>
	<li><a href="page2.php">Page 2</a></li>
	<li><a href="page3.php">Page 3</a></li>';
if($data['type']=='2' or $data['type']=='3')
	{ echo'	<li><a href="moderation.php">Modération</a></li>'; }
if($data['type']=='3')
	{ echo'	<li><a href="admin.php">Administration</a></li>'; }
</ul>';
?>

Je suppose dans cet exemple que l'id du membre est contenu dans une variable de session.
La variable $data['type'] récupère le type de membre contenu dans la base de donnée et la condition (en gras) vérifie sa valeur et affiche le menu suivant le type de membre.
Tu peux essayer de reprendre cet exemple et de l'adapter à ton cas.
Messages postés
23
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
20 juin 2013

Merci beaucoup!!=)
Messages postés
93
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
16 juin 2011

Ouais mahery, un bonjour du lycée Ozenne !