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中工作,但檢查你已經存儲在數據庫中。可能是你在字面上存儲字符串'「$ hashed_password」'。 – sas