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 à la base de données


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Février 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Cyberdocumentaliste

    Informations forums :
    Inscription : Février 2017
    Messages : 16
    Par défaut Connexion à la base de données
    salut,

    J'ai un petit soucis et j'ai besoin de votre aide si vous voulez bien. Mon probleme est le suivant:

    J'ai codé une appli Android qui permet aux users de s'enregistrer et d'utiliser ensuite leurs identifiants pour se connecté a leur compte. pour y parvenir j'ai utilisé 2 sripts php, l'un qui récupère les identifiants lors de l'enregistrement de l'utilisateur et l'autre qui récupère les identifiants de connexion pour les comparer a ceux existant dans la base de donnée pour ainsi ouvrir ou non une session . j'ai donc decidé de hasher le mot de passe des utilisateurs avant de les stockés mais un utilisateur déja enregistré ne peut pas se connecté avec les identifiants qu'il a reseigné et ce uniquement depuis que j'ai utiliser la fonction password_hash().

    quelq'un peu t-il m'aider s'il vous plait?

    voici mes sripts

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?php
     
       if($_SERVER['REQUEST_METHOD']=='POST'){
      // echo $_SERVER["DOCUMENT_ROOT"];  //
    //including the database connection file
           include_once("config.php");
     
            $name = $_POST['name'];
        $prenom = $_POST['prenom'];
        $phone = $_POST['phone'];
        $pass = password_hash( $_POST['pass'], PASSWORD_DEFAULT );
        $pass_confirm = password_hash( $_POST['pass_confirm'], PASSWORD_DEFAULT );
     
         if($name == '' || $phone == '' || $pass == '' || $prenom == '' || $pass_confirm == ''){
                echo json_encode(array( "status" => "false","message" => "Paramatre manquant!") );
         }else{
     
                $query= "SELECT * FROM identifications WHERE phone='$phone'";
                $result= mysqli_query($con, $query);
     
                if(mysqli_num_rows($result) > 0){ 
                   echo json_encode(array( "status" => "false","message" => "Ce numero utilise un autre compte!") );
                }else{
                     $query = "INSERT INTO identifications (name,prenom,phone,pass,pass_confirm) VALUES ('$name','$prenom','$phone','$pass','$pass_confirm')";
                 if(mysqli_query($con,$query)){
     
                     $query= "SELECT * FROM identifications WHERE phone='$phone'";
                             $result= mysqli_query($con, $query);
                         $emparray = array();
                             if(mysqli_num_rows($result) > 0){ 
                             while ($row = mysqli_fetch_assoc($result)) {
                                         $emparray[] = $row;
                                       }
                             }
                    echo json_encode(array( "status" => "true","message" => "Successfully registered!" , "data" => $emparray) );
                 }else{
                     echo json_encode(array( "status" => "false","message" => "Error occured, please try again!") );
                }
            }
                mysqli_close($con);
         }
         } else{
                echo json_encode(array( "status" => "false","message" => "Error occured, please try again!") );
        }
     
     ?>
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?php
     
       if($_SERVER['REQUEST_METHOD']=='POST'){
      // echo $_SERVER["DOCUMENT_ROOT"];  //
    //including the database connection file
           include_once("config.php");
     
            $phone = $_POST['phone'];
        $pass = $_POST['pass'];
     
         if( $phone == '' || $pass == '' ){
                echo json_encode(array( "status" => "false","message" => "Parametre manquant!") );
         }else{
            $query= "SELECT * FROM identifications WHERE phone='$phone' AND pass='$pass'";
               $result= mysqli_query($con, $query);
     
                if(mysqli_num_rows($result) > 0){ 
                 $query= "SELECT * FROM identifications WHERE phone='$phone' AND pass='$pass'";
                             $result= mysqli_query($con, $query);
                         $emparray = array();
                             if(mysqli_num_rows($result) > 0){ 
                             while ($row = mysqli_fetch_assoc($result)) {
                                         $emparray[] = $row;
                                       }
                             }
                   echo json_encode(array( "status" => "true","message" => "Login successfully!", "data" => $emparray) );
                }else{
                    echo json_encode(array( "status" => "false","message" => "Numero ou mot de passe invalide!") );
                }
     
     
     
                 mysqli_close($con);
         }
        } else{
                echo json_encode(array( "status" => "false","message" => "Error occured, please try again!") );
        }
    ?>


    Lorsque j'essaye de me connecté avec un numero et un mot de passe je reçois le message "numero ou mot de passe invalide" je ne sais pas ce qu'il faut corriger.

    merci de me lire!

  2. #2
    Membre chevronné Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Par défaut
    Bonjour,

    C'est normal car tu n'as pas mis en place la fonction de password_hash ici dans ton code de connexion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pass = $_POST['pass'];
    Tu devrais avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pass = password_hash( $_POST['pass'], PASSWORD_DEFAULT );
    De plus au vue de tes requêtes je te conseille vivement de regarder ce qu'est une injection SQL et d'utiliser la fonction prepare de mysqli pour t'en protéger.


    @+

  3. #3
    Membre averti
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Février 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Cyberdocumentaliste

    Informations forums :
    Inscription : Février 2017
    Messages : 16
    Par défaut
    salut
    j'ai même essayer de hasher le mot de passe dans le fichier de connexion mais j'ai toujour unr erreur!

  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
    Par défaut
    Montre nous le code actuel corrigé sinon qu'est ce que tu veux qu'on te dise ?

    Pourquoi tu as 2 fois la requête ligne 14 et puis ligne 18 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [JDBC][MySQL] Connexion à la base de données
    Par El Saigneur dans le forum JDBC
    Réponses: 8
    Dernier message: 04/08/2005, 13h52
  2. ERREUR DE CONNEXION à une base de donnée ACCESS protégée
    Par unionriton dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/05/2005, 09h35
  3. Delphi Connexion à une base de donnée distante par TCP/IP
    Par viecel dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/01/2005, 19h19
  4. Echec lors de la connexion à la base de données.
    Par mclown dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 26/10/2004, 23h36
  5. Réponses: 3
    Dernier message: 29/03/2004, 18h02

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