在php中使用密码哈希和密码验证登录问题

时间:2017-03-29 06:08:39

标签: php php-password-hash

注册码

    $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.';
    }

但即使我输入了正确的凭据,每次显示无效密码。

1 个答案:

答案 0 :(得分:3)

错误:main:main.o gcc -o $@ $< -llua5.1 -lstdc++ main.o: gcc -c main.cpp clean: -rm *.o 改为仅将其用作'$password'

将其更改为:

$password

此:

if (password_verify('$password', $row['hashed_password'])) {