|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2011 Messages : 17 ![]() |
Bonjour,
Alors pour l'instant dans ma page de connexion je fait un test sur le couple loginUtilisateur et passwordUtilisateur pour avoir accès à un menu. Mais maintenant je veux, que selon le privilège de l'utilisateur qui se connecte via la page de connexion, lui permet d'avoir un menu différent. Exemple : adminisatrateur : accès à tous les liens du menu utilisateur de base : accès restreint pour certains menu etc... Mon menu est affiché sur toutes les pages via un include, sauf à la page de connexion. Ma table privilège contient : codePrivilege clé primaire typePrivilege utilisateurPrivilege Mon script de connexion : Code :
Je pensai à faire dans mon include qui affiche le menu, un test sur le privilège. Si codePrivilege = 1 -> echo"menu1" Si codePrivilege = 2 -> echo"menu2" etc... Vous en pensez quoi ? Merci de m'aider. |
||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Si tu veux un cran au dessus, tu gères tes menus dans ta base, ca te permet de les définir dans la partie données et non pas dans le code.
Il ne faut pas oublier de controler les droits dans les pages de destination. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 17 ![]() |
D'accord, comment gérer les menus dans ma base ?
Et pour les droits dans les pages de destination, tu veux dire chaque pages qui affichent un menu ? ou la page du menu elle même ? Merci |
|
|
00
|
|
|
#4 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Au lieu d'avoir Tu aurais
Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 17 ![]() |
Je préfère faire plus simple si possible.
Juste que une fois logué, Si l'utilisateur appartient au privilège 1 -> echo menu1 Si l'utilisateur appartient au privilège 2 -> echo menu2 Si l'utilisateur appartient au privilège 3 -> echo menu3 Merci |
|
|
00
|
|
|
#6 | ||
|
Membre éclairé
![]() Jérémy Étudiant Inscription : octobre 2009 Messages : 236 ![]() |
Tu perd en dynamisme pour l'avenir la par contre.
Table privilege : id_priv, libelle_priv (ex: 1, admin) clé étrangère dans utilisateur en réf à privilege.id_priv Tu charge tes données utilisateur dont la clé étrangère : Code :
$_SESSION['privilege'] = $req['util_id_priv']; Code :
|
||
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : février 2011 Messages : 17 ![]() |
Ma table ccf_privilege contient comme champs :
codePrivilege (ex : 1) typePrivilege (ex : admin) utilisateurPrivilege (ex : administrateur) Ma table ccf_utilisateur contient : privilegeUtilisateur en référence à utilisateurPrivilege Donc : Code :
Code :
$req="SELECT utilisateurPrivilege FROM ccf_privilege WHERE ccf_privilege.utilisateurPrivilege = ccf_utilisateur.privilegeUtilisateur"; |
||
|
|
00
|
|
|
#8 | |
|
Membre éclairé
![]() Jérémy Étudiant Inscription : octobre 2009 Messages : 236 ![]() |
Citation:
Code :
$req="SELECT utilisateurPrivilege FROM ccf_privilege WHERE ccf_privilege.utilisateurPrivilege = ccf_utilisateur.privilegeUtilisateur"; ta requête sera du style : Code :
SELECT privilegeUtilisateur FROM utilisateur WHERE idUtilisateur='$id'
|
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 17 ![]() |
Là dans ta requête :
Code :
$req="SELECT privilegeUtilisateur FROM ccf_utilisateur WHERE numUtilisateur= '$id'"; Mais $id fait référence à quoi ? |
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() Jérémy Étudiant Inscription : octobre 2009 Messages : 236 ![]() |
Non non, relit mon post précédant concernant sur quoi travailler et sur la structure de tes tables.
$id est une variable de l'id utilisateur, il en faut un si ce n'est pas encore le cas. |
|
|
00
|
|
|
#11 | ||
|
Invité de passage
![]() Inscription : février 2011 Messages : 17 ![]() |
Alors pour la structure, j'ai supprimé utilisateurPrivilege
Donc il me reset l'id et le type (1, admin) (2, professeur)etc... Après pour $id : Code php :
C'est ça ? |
||
|
|
00
|
|
|
#12 |
|
Membre éclairé
![]() Jérémy Étudiant Inscription : octobre 2009 Messages : 236 ![]() |
La première partie oui, pour l'id c'est un peu plus complexe car tu recherche a récupérer l'id de l'utilisateur de session, je m'explique :
Dans un premier temps tu vérifie l'existance du couple login/password Ensuite tu charge l'utilisateur qui possède le couple. Code :
SELECT * FROM utilisateur WHERE login='$login' AND password=$password vus que ta requête a aussi chargée l'id de l'utilisateur tu l'affecte : Dans ce cas ci tu as charger par ailleurs le privilège de ton utilisateur tu peut aussi l'affecter : Code :
$_SESSION['privilege']=$req['privilege']; Normalement à ce moment tu dispose de tout les éléments nécessaire pour gérer tes liens, tiens nous au courant. |
|
|
00
|
|
|
#13 | ||||
|
Invité de passage
![]() Inscription : février 2011 Messages : 17 ![]() |
Voilà ce que j'ai fait (sans gérer les echo des menus) :
Code :
Notice: Undefined variable: login Notice: Undefined variable: password J'affecte mon loginUtilisateur à la variable $login, mais je ne l'utilise jamais... C'est pas possible de rajouter 1 ou 2 conditions dans ma page de connexion, juste pour gérer la valeur du codePrivilege ? Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com