1
申し込みコード:ログインの問題PHPで検証
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$password = $_POST['password'];
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
$contact = $_POST['contact'];
$address = $_POST['address'];
$query = "INSERT INTO `tbl_user`(`first_name`, `last_name` , `email` , `password`,`contact`, `address`) VALUES
('$first_name','$last_name','$email','$hashed_password','$contact','$address')";
$sql = mysqli_query($con,$query);
ログインコード:
$email = $_POST['email'];
$password = $_POST['password'];
$query = "SELECT * FROM `tbl_user` WHERE `email` = '$email'";
$sql = mysqli_query($con,$query);
$row = mysqli_fetch_array($sql);
if (password_verify('$password', $row['hashed_password'])) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
しかし、毎回、それは私が正しいと入力しても、無効なパスワードを示しています資格情報。
'INSERT INTO ... password' ...' password_verify(... $行[ 'hashed_password' ]) 'hmm ... –
配列を取得していて、インデックス番号を与えていない – Gert
PHPでは文字列補間がどのように機能するのかよく分かりませんが、dbに格納されている内容を確認してください。文字通り '" $ hashed_password "'という文字列を格納している可能性があります。 – sas