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 :

Connexion utilisateur php mysql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Par défaut Connexion utilisateur php mysql
    Salut,
    J'ai un problème concernant la connexion d'un utilisateur sur mon site.
    voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <?php
     //Réccupération des variables
    $login = $_POST['login'];
    $password = $_POST['password'];
     
     // Connexion a mySQL
                   mysql_connect("localhost", "root", "");
                   // connexion a la BDD "musiccollection"
                   mysql_select_db("musiccollection");
     
                   // Récuperation e tous les login présent dans la BDD
                   $request= "SELECT * FROM `usersconnexion`  WHERE `login` LIKE CONVERT( _utf8 '".$login."' USING latin1 ) ";
                   $result = mysql_query($request) or die("Pb avec la requete: $request");
     
                   // Récuperation de tous les password présent dans la BDD
                   $request1="SELECT * FROM `usersconnexion` WHERE `password` LIKE CONVERT( _utf8 '".($password)."' USING latin1 )"; 
                   $result1 = mysql_query($request1) or die("Pb avec la requete: $request1");
     
                   //test de l'existance du login et password dans la BDD
                   if (mysql_num_rows($result) && mysql_num_rows($result1) == 1){
                   echo "Bienvenue sur Discorama $login";
                   }
                   else{
                   echo "votre login et/ou votre password est incorrect";
                   }
                   mysql_close(); 
    ?>
    Mon problème est que même si je mets un bon login et un bon password (qui son donc dans ma base de données, il m'affiche que le password et/ou le login est incorrect.je pense que en fait je n'arrive pas à récupérer le password entrer en md5.
    Quelqu'un pourrait il me dire si mon code comporte une erreur qui pourrait corriger mon probleme
    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Par défaut
    Tu parles de md5, donc je suppose que les passwords sont encodés en md5 dans ta base. Il faut donc écrire ta requète en conséquence

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                   $request1="SELECT * FROM `usersconnexion` WHERE `password` = CONVERT( _utf8 '".md5($password)."' USING latin1 )";
    En remplaçant LIKE par = au passage

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Par défaut
    Je ne comprend pas cela m'affiche toujours la même chose pourtant dans ma BDD le password est bien en md5 j'ai fait un test simple seulement avec le login la connexion fonction mais je ne comprends pas pourquoi quand j'intègre le password cela ne fonctionne plus.cela peut il venir du code concernant l'inscription?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?php
     //Réccupération des variables
    $login = $_POST['login'];
    $password = $_POST['password'];
    $mail = $_POST['mail'];
    $visaNumber = $_POST['visaNumber'];
    $masterCardNumber= $_POST['masterCardNumber'];
    $americanExpressCard = $_POST['americanExpressCard']; 
     
    // Connexion a mySQL
                   mysql_connect("localhost", "root", "");
                   // connexion a la BDD "musiccollection"
                   mysql_select_db("musiccollection");
    //création d'une entrée grâce à la réccuperation des variables
                       $request = "INSERT INTO `usersconnexion`  (`id` ,
                                                                                                       `login` ,
                                                                                                        `password` ,
                                                                                                         `mail` ,
                                                                                                         `visaNumber` ,
                                                                                                         `masterCardNumber` ,
                                                                                                         `americainExpressCard`)  VALUES(NULL, '" . $login . "', 
                                                                                                                                                                                       '" . md5($password). "', 
                                                                                                                                                                                       '" . $mail . "', 
                                                                                                                                                                                       '". md5($visaNumber) . "', 
                                                                                                                                                                                       '" . md5($masterCardNumber). "', 
                                                                                                                                                                                       '" . md5($americanExpressCard) . "');";
                         mysql_query($request) or die("Pb avec la requete: $request"); 
                         echo "Vous êtes désormais enregistré " . $_POST['login'] ;
                     }
                     mysql_close();
    et donc la modification du code de connexion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <?php
     //Recupeation des variables
    $login = $_POST['login'];
    $password = $_POST['password'];
     
     // Connexion a mySQL
                   mysql_connect("localhost", "root", "");
                   // connexion a la BDD "musiccollection"
                   mysql_select_db("musiccollection");
     
                   // Recuperation de tous les password present dans la BDD
                   $request="SELECT * FROM `usersconnexion` WHERE `login` LIKE CONVERT( _utf8 '".$login."' USING latin1 ) AND `password` LIKE CONVERT( _utf8 '".md5($password)."' USING latin1 )"; 
                   $result = mysql_query($request) or die("Pb avec la requete: $request");
                    echo "$request";
     
                   //test de l'existance du login et password dans la BDD
                   if (mysql_num_rows($result) == 1){
                   echo "Bienvenue sur Discorama $login";
                   }
                   else{
                   echo "votre login et/ou votre password est incorrect";
                   }
                   mysql_close(); 
    ?>
    dsl mais je suis novice en php mysql est j'ai vraiment du mal

  4. #4
    Membre expérimenté Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Par défaut
    Regarde à quoi ressemble ta requète $request, d'ailleurs tu fais un echo de celle-ci. Fais un copier coller dans phpMyAdmin pour l'executer et tu verras ce qu'il te renvoie.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Par défaut trouvé
    J'ai résolu le problème ma requête était correct cela venais juste de ma BDD qui avait un varchar limité a 12 pour le password et quand le password et converti en md5 il fait plus de 12 caractères voila pourquoi ça bloquait!!
    Merci quand même pour votre aide

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

Discussions similaires

  1. [MySQL] Envoi d'un mail avec les identifiants d'un utilisateur [PHP Mysql]
    Par lizeal dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/02/2014, 15h06
  2. [MySQL] connexion BD php/mysql
    Par marry dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 21/09/2009, 21h10
  3. Réponses: 2
    Dernier message: 24/04/2009, 18h35
  4. Connexion refusée par MySQL : j'ai effacé tous les utilisateurs
    Par AliochaBada dans le forum Installation
    Réponses: 2
    Dernier message: 16/08/2006, 01h44
  5. PHP-MySQL : probleme de connexion
    Par rockingstone dans le forum Outils
    Réponses: 9
    Dernier message: 03/07/2006, 13h33

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