IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Créer menu en fonction des droits des utilisateurs


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut Créer menu en fonction des droits des utilisateurs
    Bonjour à tous, je suis nouveau dans l'utilisation de php. Je suis entrain de travailler sur une application avec PHP et Mysql et je voudrais créer un menu personnaliser à chaque utilisateur en fonction de ces droits d'accès dans la bd.

    La table des utilisateurs:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Tb_Adherent (
        matric VARCHAR(6) NOT NULL,    -- matricule utilisateur
        nomadh VARCHAR(25) NOT NULL, -- nom utilisateur
        dtenai DATE NOT NULL,              -- date de naissance
        psswd  VARCHAR(15),           -- mot de passe de l'utilisateur
        PRIMARY KEY(matric));

    Les droits d'accès de chaque utilisateur sont définis sur deux tables. Une 1re table :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Tb_profilmenu (
        matric VARCHAR(6),     -- matricule user clé etrangère
        idprof INT AUTO_INCREMENT, --N° enregistrement
        lbprof VARCHAR(35) NOT NULL, --Libellé du menu
        PRIMARY KEY(idprof),
        FOREIGN KEY(matric) REFERENCES Tb_Adherent(matric) ON UPDATE CASCADE);
    Le rôle de cette table de définir les noms des entêtes de chaque menu. Par exemple c'est dans cette table je mettrai
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO Tb_profilmenu (matric, lbprof) VALUES ('06017', 'Enregistrement')

    Les sous-menus du menu "Enregistrement" seront définis dans la table Tb_detailmenu. Cette table vise à enregistrer les détails du menu et voici la structure de cette table
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Tb_detailmenu (
        idprof INT,    -- N° enregistrement clé étrangère
        detme VARCHAR(35) NOT NULL, --Libellé du sous - menu
        fichi VARCHAR(60) NOT NULL, -- nom et repertoire du fichier
        FOREIGN KEY(idprof) REFERENCES Tb_profilmenu(idprof) ON UPDATE CASCADE);

    Dans le champ fichi je mettrai la valeur de href par exemple href="Employes/cadregestion_employe.html".

    J'ai fait un fichier test, il est en pièce jointe.
    Je vous remercie de votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En regardant rapidement ton code, tu utilises $row[0] et $row[1] avant d'avoir fait le mysql_fetch_row()

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut Merci
    Merci pour ta reaction. C'est vrai, mais ma plus grande difficulte se trouve au niveau de la valeur de href =" ". Comment faire reagir cette valeur lors du clic sur ce sous menu ? Y a t-il un autre moyen de le faire ou ma methode est -elle complique ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Qu'est ce que tu veux dire par "faire réagir la valeur du href" ?

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Href="chemin_du_fichier" alors compte tenu que ce "chemin_du_fichier" provient d'une requete. Alors lors du clic de l'utilisateur sur ce sous menu, comment ouvrir la page ? Etant donne que la valeurcontenu dans la balise href provient d'une requete. La j'espere que vous avez saisi ma difficulte ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Non pas du tout

    C'est déjà ce que tu fais quand tu ecris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<?php $row[3];?>">
    le lien est la valeur lue dans la base

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Non pas du tout

    C'est déjà ce que tu fais quand tu ecris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<?php $row[3];?>">
    le lien est la valeur lue dans la base
    Oui, mais lorsque je clique sur ce sous menu la page de la valeur <?php $row[3];?> ne s'affiche pas. Et pourtant elle existe bien et le lien et ok

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est à dire "ne s'affiche pas" ?
    Que ce passe t'il exactement quand tu cliques sur le lien ?

  9. #9
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    c'est là le pb, ca ne donne rien. Et je pense que c'est normal car en pointant la souris sur ce sous-menu j'ai tout simplement le sigle #.

    Pourquoi je dis que c'est normal: je pense que après avoir charger cette valeur et lors du clic la valeur n'est plus la même.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est ce que ta colonne est bien remplie ?
    Si tu executes ta requete dans phpmyadmin tu as bien toutes les valeurs ?

Discussions similaires

  1. POO MVC2 et gestion des droits des utilisateurs sur les modèles.
    Par Dankin dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 02/06/2009, 21h26
  2. [6.5.1] Attribuer des droits à des utilisateurs
    Par Herlece dans le forum Administration-Migration
    Réponses: 1
    Dernier message: 10/10/2008, 15h01
  3. [powerdesigner] gestion des droits des utilisateurs
    Par ricachu dans le forum Outils
    Réponses: 1
    Dernier message: 24/04/2008, 15h41
  4. Réponses: 3
    Dernier message: 07/02/2008, 17h50
  5. Utiliser des droits d'utilisateurs différents
    Par NicolasJolet dans le forum Windows XP
    Réponses: 3
    Dernier message: 20/11/2006, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo