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 :

reconnaitre si un identifiant entré existe dans la base de donnee


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 21
    Points
    21
    Par défaut reconnaitre si un identifiant entré existe dans la base de donnee
    bonjour,
    mon problème est le suivant j'ai une page d’accueil ou l'utilisateur entre son pseudo et son mot de passe et j'aimerai savoir la méthode a suivre pour vérifier s'il appartient oui ou non a ma base de donnée (bien sur ça se fera dans la page traitement)afin de continuer les traitements ou lui envoyer un message d'erreur

    merci d'avance

    j'ai tente ça mais j'ai pas l'impression que c'est correcte qu'en pensez vous?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    try
    {
        $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
        $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
     
        $req = $bdd->query('SELECT identifiant from adherent ');
        $beq=$bdd->query('SELECT code from adherent');
     
      while( $donnees = $req->fetch() AND $bonnes=$beq->fetch())
     
     
     
    	if (isset($_POST['mot_de_passe']==$bonnes)  AND $_POST['utilisateur']==$donnes)

    je continue le traitement

  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
    Tu n'as pas besoin de parcourir toute la table pour trouver l'utilisateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $req = $bdd->prepare('SELECT identifiant from adherent WHERE code=:mdp AND identifiant=:login');
    $req->execute(array(':mdp'=>$_POST['mot_de_passe'], ':login'=>$_POST['utilisateur']))
    $resultat = $req->fetchAll();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 21
    Points
    21
    Par défaut
    @sabotage

    merci pour cette precision mais ma condition portera sur quoi car a ce que je sache resultat est une sorte de tableau de login et mot de passe

    cette ecriture a elle un sens??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if  (isset($_POST['mot_de_passe']==$resultat['mdp'] AND  isset($_POST['identifiant']==$resultat['login'])

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    $req->fetchAll(); récupère toutes les lignes, c'est donc un tableau à deux dimensions dont le premier index est égal à la ligne en cours.

    Donc tu pourrais faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['mot_de_passe']) && $_POST['mot_de_passe'] == $resultat[0]['mdp'] && isset($_POST['identifiant']) && $_POST['identifiant']==$resultat[0]['login'])
    mais bon puisque tu demande à la requête de te retourner si une ligne vérifie les conditions il te suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(count($resultat)) == 1)

  5. #5
    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
    @ibuto, ta médode doit techniquement fonctionner mais elle est absurde.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 21
    Points
    21
    Par défaut
    @sabotage

    oui ca peut paraitre absurde pour un professionel mais moi je ne suit qu'au debut et ce n'est qu'une initiative personnelle pas d'encadrant pas de prof pour te diriger vers la bonne methode a suivre merci donc a toi et @ABCIWEB

    pour moi le bloquage se fait au niveau des conditions de reception de donnes c'est le veritable probleme que je rencontre pour le moment car j'avait l'habitude de faire juste un isset et comparer le mot de passe avec un deja existant la avec 2 objet a verifier et a comparer a ma base de donnee je coince mais je vais tenter d'appliquer vos conseils a la lettre et voir le resultat

  7. #7
    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
    pas d'encadrant pas de prof pour te diriger vers la bonne methode a suivre
    Regarde les tutos ou même le forum, il est truffé d'exemples d'authentification
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 21
    Points
    21
    Par défaut
    @sabotage

    c'est exactement ce que je fait en tout cas grand merci pour votre aide car vous m'avez mit dans la bonne voie
    meme si j'ai encore des soucis nottament differencier entre un utilisateur normal et un administrateur j'ai fait une boucle avec if else l'administrateur est defini par un mot de passe et un identifiant existant dans le code source alors que l'utilisateur je doit aller le chercher dans la base de donnees probleme lors de l'execution le programme saute directement vers le else c'est a dire l'ouverture de la base de donnee sans passer par le if meme si j'entre exactement les coordonnes de l'admin qui sont dans le code source

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Faudrait apprendre à faire des phrases un peu plus courtes car je suis pas certain d'avoir tout compris

    Concernant la gestion des droits on utilise souvent un champ de la table d'identification qui est réservé à cet effet.
    En fonction de ce champ récupéré lors de l'authentification on peut facilement définir des droits avec des variables de session par exemple.

Discussions similaires

  1. Réponses: 7
    Dernier message: 15/04/2011, 15h19
  2. Réponses: 1
    Dernier message: 23/10/2005, 00h55
  3. est ce que un champs existe dans la base?
    Par cha_cha dans le forum Langage SQL
    Réponses: 9
    Dernier message: 03/10/2005, 11h25
  4. comment savoir si une table existe dans la base?
    Par isa21493 dans le forum ASP
    Réponses: 6
    Dernier message: 01/09/2005, 17h09
  5. Réponses: 2
    Dernier message: 20/05/2005, 10h18

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