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
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
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!") ); } ?>
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!
Partager