J'ai un petit soucis et j'aimerai obtenir de l'aide svp. voici mon problème:
J'ai codé une application android qui permet aux utilisateurs de se connecté a une base de donnée après enregistrement mais le problème est que depuis que j'ai decidé d'utiliser password_hash pour hasher les mots de passes avant de les stockés il est desormais impossible pour un utilisateur deja enregistré de se connecté avec ses identifiant car je n'arrive pas a verifié le mot de passe en claire que l'utilisateur entre et le mot de passe hashé present dans la base de donnée je sais qu'il faut utiliser password_verify et j'ai beau retourné et retourné mon code j'y arrive pas. aidez moi svp...
voici mes codes:
inscription
Code : Tout sélectionner
<?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" => "Parameter missing!") );
}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 : Tout sélectionner
<?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" => "Parameter missing!") );
}else{
$query= "SELECT * FROM identifications WHERE phone='$phone'";
$hash = $result['pass'];
if(password_verify($_POST['pass'], $hash)){
$result= mysqli_query($con, $query);
if(mysqli_num_rows($result) > 0){
$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" =>"true","message" =>"Mot de passe incorrect"));
}
}else{
echo json_encode(array( "status" => "false","message" => "Invalid username or password!") );
}
mysqli_close($con);
}
} else{
echo json_encode(array( "status" => "false","message" => "Error occured, please try again!") );
}
?>