J'ai un problème. Je hashing mon mot de passe using PHP mais quand je le vérifie son donner le message suivant.Impossible de vérifier le mot de passe après le hachage à l'aide de PHP
Avis: Undefined variable: liXZkG452 en /opt/lampp/htdocs/test/verify.php sur la ligne 2
Échec
J'expliquais mon code ci-dessous.
hash.php
<?php
$password="[email protected]";
$hash = password_hash($password, PASSWORD_BCRYPT);
echo $hash;
?>
Le echo
ci-dessus est de donner cette valeur $2y$10$liXZkG452/DQjB7TsIHEzuJ/ovi0L3.xwN1uYeqt.kFYma33Uu9Wq
et encore je compare dans le fichier ci-dessous.
verify.php
<?php
$hash="$2y$10$liXZkG452/DQjB7TsIHEzuJ/ovi0L3.xwN1uYeqt.kFYma33Uu9Wq";
$password="[email protected]";
if (password_verify($password, $hash)) {
echo 'login';
}else{
echo 'Failed';
}
?>
La fonction ci-dessus me donne la question. Aidez-moi s'il vous plaît à résoudre ce problème.
Vous devez utiliser singlequotes '' 'au lieu de guillemets doubles. Vous avez des identifiants variables '$' dans les guillemets doubles, donc PHP pense que c'est en fait une variable. L'utilisation de guillemets simples permettrait de contourner cela. – Qirel
@Qirel: parfait et merci. Quelle était l'erreur Puis-je savoir? – subhra
Comme je l'ai dit, '$' est l'identifiant de la variable. Donc PHP pense que quelque chose après '$' est le nom de variable. Dans les guillemets doubles, PHP utilise des variables, mais pas avec des guillemets simples. – Qirel