Privilèges en php

Bonjour à tous !

J'ai un petit souci je viens encore demander votre aide, j'ai créer des sessions et une base des données où j'enregistre tout mes membre cela fonctionne très bien mais je dois partager des privilèges pour les administrateurs et les utilisateurs simples.

Les utilisateurs simple n'aurons l'accès direct à toutes les informations mais les administrateurs aurons accès à tous le menu ainsi que le menu de configuration.

Je ne sais pas par où commencé.

Merci d'avance !

6 réponses

  1. Contributeur
    Hello,

    Je n'aime pas trop l'idée de la page admin et la page client : cela nécessite de duppliquer le code... Je ferai plutôt un champ "admin" en base ou tu stockes par exemple 0 pour les admin ; 1 pour les utilisateurs.
    Tu récupères ce champ et en fonction de sa valeur tu affiches ce que tu veux au sein de la même page.

    Mihawk
    "Tant qu'on ne fait pas, on ne sait pas."
    1. Jette un oeil à la fonction header();

      en faisant qq chose dans ce style ça devrait marcher :

      if (<condition pour etre admin) {
      header("Location: http://tonsite/admin.php");
      }
      else {
      header("Location: http://tonsite/client.php");
      }

      Attention à une chose : si on tape directement http://tonsite/admin.php, il ne faut pas qu'on puisse accéder aux fonctions d'administrateur ;) Autrement dit, ta page admin.php doit vérifier que le visiteur a bel et bien les droits d'admin...
      Ca peut paraître évident, mais je préfère le rappeler :)

      1. ah ! merci, dans ce cas les conditions pour être administrateur doit être définies dans la base des données ? le if vérifie les conditions défini dans la base des données.
    2. Contributeur
      Salut!
      Je rejoins l'idée de Mihawk. j'ai eu à faire un espace membre avec plusieurs niveau d'accès et pour cela j'ai utilisé l'affichage conditionnel. Dans ta table membre, tu ajoutes un champ "statut" qui sera "admin" ou "user" et lors de la connexion on doit récupérer la valeur de ce champ pour la personne qui se connecte et faire la comparaison et afficher ce qui est nécessaire (menu par exemple). ça t'éviterai de taper le code en double.
      Je te file le code tout à l'heure le temps que j'allume mon PC personnel (là j'écris avec le PC de service).
      cdt
      «Il faut avoir déjà beaucoup appris de choses pour savoir demander ce qu'on ne sait pas.»
      Jean-Jacques ROUSSEAU
      1. Merci Mihawk et Biss vous m'avez beaucoup aider je serai reconnaissant à la fin de truc que je créer. Merci à toi aussi Latinox.

        Biss j'attend le le code
    3. Jete un oeil sur cet article :
      http://dsampaolo.com/blog/1507-gerer-ses-droits-et-acces-utilisateurs-en-php-le-bit-bashing.html
      1. Ok, merci Latinox!!!
    4. Contributeur
      Comme promis!
      Tu trouveras ici le dossier compressé avec tout ce dont tu as besoin.
      Tiens nous au courant si tu as des soucis.
      Cordialement
      1. Merci ! Je vous tient informé de tout.
    5. Biss quand j'essaie d'abord de tester d'abord le script ça ne fonctionne pas, au fait quand je clique sur le bouton se connecter on me dit qu'il y a une table qui n'existe pas. Pourtant il ne vérifie aucun champ et directement il sort ce message

      Table 'test1.administrateur' doesn't exist
      1. Contributeur
        oui c'est normal.tu as un fichier connexion.php, il faut dans ce fichier modifier les paramètres de connexion et créer la table associée. ici la table administrateur
      2. donc à part la la utilisateur il y a une autre table c'est ça ?
      3. Contributeur
        non c'est l'unique table.j'ai l'impression que tu as changer le nom de la table.
      4. J'ai plutôt changé celui de la base des données
      5. Contributeur
        bah voila!regarde,créé une nouvelle base de données avec la table utilisateurs et teste le script.une fois que c'est bon,tu pourras ensuite adapter à ton code source.teste le script à part