首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密码验证php的误区

密码验证php的误区
EN

Stack Overflow用户
提问于 2016-05-25 05:44:51
回答 2查看 92关注 0票数 0

我试图验证用户的登录并比较两个密码(它们在数据库中被散列)。我很确定这只是一些我找不到的愚蠢的错误。这是我保存到db时的散列方式。$password = password_hash($_POST["password"], PASSWORD_BCRYPT); --这是我的登录方法:

代码语言:javascript
复制
if(isset($_POST['login'])){

            $stmt = $mysqli->prepare("SELECT `password` FROM users WHERE username=?");
            $stmt->bind_param("s", $username);

            $username = $_POST["username"];
            $password = $_POST["password"];

            $stmt->execute();
            $stmt->bind_result($result);

            if(password_verify($password, $result)){
                header("Location: http://localhost/test2/Home.php");
            }
            else{
                echo "<script type='text/javascript'>alert('Something went wrong!')</script>";
                echo $mysqli->error;
                echo $stmt->error;
            }
        }   

为了测试目的,我试图echo错误,但它没有显示任何东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-25 05:55:08

忘记获取数据表单查询结果

代码语言:javascript
复制
$stmt->execute();// execute query
$stmt->bind_result($result);// bind result
    while ($stmt->fetch()) {// fetch data
        $pass = $result;
    }
    if (password_verify($password, $pass)) {
        header("Location: http://localhost/test2/Home.php");
    }
票数 0
EN

Stack Overflow用户

发布于 2016-05-25 05:52:59

变化

代码语言:javascript
复制
if(password_verify($password, $result)){

代码语言:javascript
复制
if(password_verify($password, $result['password'])){
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37428697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档