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

PHP & Base de données Discussion :

probleme zone administrateur [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Par défaut probleme zone administrateur
    Bonjour a toute l'equipe, voila je vous expose mon probleme:

    je suis actuellement sur un projet de belote en ligne. toute les pages sont crée y compris l'inscription et la connexion. j'ai creer une table users:
    avec un id un username password, email signupdate et enfin statut.
    J'ai créer 4 define:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    define('VISITEUR',1);
    define('INSCRIT',2);
    define('MODO',3);
    define('ADMIN',4);
    ?>
    la question que je me pose et comment faire pour la suite? pour que je puisse me loguer avec mon pseudo et mon mot de passe et que je soit reconnu comme admin? et qu'une autre personne qui se connecte soit reconnu comme moderatrice par exemple? je vous remercie d'avance

    Pour info google is my friend mais j'ai pas trouvé mon bonheur.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ J'aurais plutôt simplement fait une table en BdD :
    Table_statut
    id_statut
    val_statut (1,2,3,4)
    nom_statut ('VISITEUR','INSCRIT','MODO','ADMIN')

    2/ + un champ dans la Bdd : "statut" (dans Table_users)

    A la connection du visiteur :
    on vérifie la valeur du champ "statut" qu'on compare à celle de la table Table_statut.
    On l'enregistre dans une variable de session : $_SESSION['STATUT'];

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Par défaut
    Je te remercie pour ta reponse Jreaux62, je n'y avais pas penser comme quoi les choses les plus simple sont celles auquelles ont pense le moins. une dernieres question cependant:

    Statut dans table_user sera du meme type que Statut de table_statuts (enumeration)?

    De plus tu me dis de regarder la valeur de mon statut a la connexion. Je suis d'accord avec toi mais je me demande comment lui donner une valeur (j'ai un peu du mal a exprimer ma question je l'avoue)
    et faut -il mettre manuellement le premier utilisateur qui sera administrateur dans la base de donnée pour qu'il puisse donner des droit à d'autre et que la valeur de ces droits soit visible dans la BDD?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Hello,
    tu mets statut=1 par défaut dans la table_users.
    Pour les modos, admin,... il suffit alors de mettre 2, 3 ou 4

    Dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE IF NOT EXISTS `T_USERS` (
      `id_user` int(10) NOT NULL AUTO_INCREMENT,
      `id_statut` int(2) NOT NULL DEFAULT '1' COMMENT '(1=VISITEUR,2=INSCRIT,3=MODO,4=ADMIN)',
      `log_admin` varchar(100) NOT NULL DEFAULT '',
      `pwd_admin` varchar(150) NOT NULL DEFAULT '',
      `nom` varchar(100) NOT NULL,
      `prenom` varchar(100) NOT NULL,
      `email` varchar(150) NOT NULL,
      [........]
      PRIMARY KEY (`id_user`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1 ;
    ET :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE IF NOT EXISTS `T_STATUT` (
      `id_statut` int(10) NOT NULL AUTO_INCREMENT,
      `nom_statut` varchar(100) NOT NULL,
      PRIMARY KEY (`id_statut`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1 ;
     
    INSERT INTO `T_STATUT` (`id_statut`, `nom_statut`) VALUES
    (1, 'VISITEUR'),
    (2, 'INSCRIT'),
    (3, 'MODO'),
    (4, 'ADMIN');

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Par défaut
    Merci Jreaux J'arrive aux bout pour ma base de donnée qui me pose encore un dernier souci. pour le code ca ira tout seul. donc en faite dans la table "users" que tu me propose tu met un logadmin et pwdadmin donc tu creer une table pour chaque statuts? ou alors tu le met dans "users" avec le login de tout les membres et dans ce cas il y aura logadmin, pwdadmin, login,pwd mail etc.

  6. #6
    Invité
    Invité(e)
    Par défaut
    En reprenant tes données du 1er message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE IF NOT EXISTS `users` (
      `id_user` int(10) NOT NULL AUTO_INCREMENT,
      `username` varchar(100) NOT NULL DEFAULT '',
      `password` varchar(150) NOT NULL DEFAULT '',
      `signupdate` varchar(100) NOT NULL,
      `statut_user` int(2) NOT NULL DEFAULT '1' COMMENT '(1=VISITEUR,2=INSCRIT,3=MODO,4=ADMIN)',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1 ;
    On donne dans "statut_user" le statut de cet utilisateur.

    On donne ensuite les droits d'accès à certaines pages en fonction de cette valeur, qu'on peut enregistrer dans une variable de session au moment de la connection de l'utilisateur (après vérification du login et mot de passe) :
    $_SESSION['STATUT_USER'] = $row['statut_user'];

    La table T_STATUT n'a d'interet que si on y met des données nécessaires pour les droits d'accès.
    Exemple : un champ contenant la liste des pages accessibles,...
    Dernière modification par Invité ; 28/04/2012 à 12h07.

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Par défaut
    Merci Jreaux je peux enfin avancer dans mon projet je te remercie pour tout je pense que j'y arriverais tout seul pour le reste.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme zone de liste
    Par donkey21 dans le forum IHM
    Réponses: 1
    Dernier message: 29/06/2007, 09h49
  2. probleme zone de liste
    Par bithorax dans le forum Access
    Réponses: 3
    Dernier message: 30/06/2006, 19h03
  3. probleme : zone de texte en asp ou en html
    Par leclone dans le forum ASP
    Réponses: 4
    Dernier message: 24/05/2006, 13h43
  4. probleme zone de texte
    Par fscli dans le forum Access
    Réponses: 2
    Dernier message: 17/05/2006, 11h17
  5. Grand probleme, l'administrateur root est supprimé
    Par amigauss dans le forum Administration système
    Réponses: 2
    Dernier message: 24/03/2006, 18h59

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