Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php mysql bcrypt和密码不匹配_Php_Mysql_Passwords_Bcrypt - Fatal编程技术网

php mysql bcrypt和密码不匹配

php mysql bcrypt和密码不匹配,php,mysql,passwords,bcrypt,Php,Mysql,Passwords,Bcrypt,我无法安全地验证用户名和密码。在检查数据库中是否存在电子邮件地址后,我会检查输入的密码是否与数据库中的密码匹配,但我的密码没有验证 这是我的user_login.php文件: 由于某些原因,密码和使用bcrypt加密的密码不匹配。我找不到我做错了什么。如果您有一些关于解决方案的建议,请提供帮助。谢谢 目前,您需要将mysqli_fetch_数组更改为 mysqli_fetch_数组$tbl,mysqli_ASSOC,因为仅此一项就获取了错误类型的数组 如果没有特定的参数,它的mysqli_fet

我无法安全地验证用户名和密码。在检查数据库中是否存在电子邮件地址后,我会检查输入的密码是否与数据库中的密码匹配,但我的密码没有验证

这是我的user_login.php文件:


由于某些原因,密码和使用bcrypt加密的密码不匹配。我找不到我做错了什么。如果您有一些关于解决方案的建议,请提供帮助。谢谢

目前,您需要将mysqli_fetch_数组更改为 mysqli_fetch_数组$tbl,mysqli_ASSOC,因为仅此一项就获取了错误类型的数组

如果没有特定的参数,它的mysqli_fetch_数组默认为mysqli_,是一个关联数组和数字数组。PHP可能试图访问错误的相关列。

旁注:我这里的灯熄灭了。晚安。
require_once "../include/Constants.php";

$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

if($_SERVER['REQUEST_METHOD']=='POST')
{
    $username = $_POST['username'];
    $password = $_POST['password'];

    //filter this variable for security

    $password = strip_tags(mysqli_real_escape_string($conn, trim($password)));

    $query = "SELECT * FROM students WHERE s_id = '".$username."' ";
    $tbl = mysqli_query($conn, $query);
    if(mysqli_num_rows($tbl)>0)
    {
        //when email is matched it also need to verify the password
        $row = mysqli_fetch_array($tbl);
        $password_hash = $row['password'];
        if(password_verify($password, $password_hash))
        {
            echo "success";
        }
        else
        {
            echo "failed login"."<br/>";
            echo $password_hash."<br/>";
            echo $password;
        }
    }
    else
    {
        echo "email failed";
    }