Mon système de connexion fonctionne correctement jusqu'à maintenant. Je peux mettre le nom d'utilisateur et mot de passe correct et il se connectera mais pas vice versa. La seule chose qui ne fonctionne pas correctement est la vérification du statut. Si l'utilisateur a le statut '0', il ne doit pas se connecter. J'ai donc essayé d'imprimer le statut et rien n'a été montré. Puis j'ai fait la même chose avec le password_hash et j'ai obtenu le même résultat (ce qui est bizarre puisque password_verify() n'a pas de problème). L'utilisateur entré le mot de passe imprime donc ceci doit être une chose mysqli_result. De l'aide?Je ne peux pas obtenir msqli_result pour imprimer
include_once($_SERVER['DOCUMENT_ROOT'] . "/php_scripts/db_conx.php");
function CheckLogin($username, $password, $db_conx){
time_nanosleep(0, 100000000);
$userQuery = $db_conx->prepare("SELECT * FROM users WHERE username = ?");
$userQuery->bind_param('s', $username);
$userQuery->execute();
$userResult = $userQuery->get_result();
if($userResult->num_rows == 1){
$password_hash = $userResult->fetch_assoc()['password'];
$status = mysqli_fetch_assoc($userResult)['status']; // $status turns out null
echo($status); // Prints nothing
printf("%s\n", $userResult->fetch_assoc()['password']); // Prints nothing
print_r($userResult->fetch_assoc()); // Prints nothing
print($password); //Prints the password correctly
if(password_verify($password, $password_hash) && $status != '0'){
//password_verify() works like a charm
//Status check is the only thing that does not work
return true;
} else{
return false;
}
}
return false;
}
L'utilisateur a le statut '0', il ne doit donc pas se connecter.
Votre avis a travaillé et maintenant mon script de connexion fonctionne comme un charme. Je vous remercie. –