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