首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么这个php站点不工作(密码散列)

为什么这个php站点不工作(密码散列)
EN

Stack Overflow用户
提问于 2017-08-22 22:27:44
回答 1查看 75关注 0票数 0

我正试着用php做一个登录站点,但是我找不到一个错误。虽然我没有得到一个错误,但它不工作。

数据库连接正常(我试过了)。

因此,在HTML中,我有一个带有两个input标记和一个submit按钮的表单:

代码语言:javascript
复制
    <form action="?login=1" method="post">
            <input class="form-control" type="text" name="username" required="" placeholder="Name" border-radius="3px" />
            <input class="form-control" type="password" name="password" required="" placeholder="Password" border-radius="3px" font-size="caption" />
            <input text-align="center" type="submit" value="Login »"  class="btn btn-white-outline display-4" style="border-radius: 3px !important;">
    </form>

这是php-code:

代码语言:javascript
复制
<?php 
session_start();
$pdo = new PDO('mysql:host=localhost; dbname=test_db', 'user', 'password');

if(isset($_GET['login'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $statement = $pdo->prepare("SELECT * FROM users WHERE username= :username");
    $result = $statement->execute(array('username' => $username));
    $user = $statement->fetch();

    if ($user !== false && password_verify($password, $user['password'])) {
        $_SESSION['name'] = $user['name'];

        die('<meta http-equiv="refresh" content="0; URL=/plan.php">');
    } else {
        $errorMessage = "<p style='color:red;'>
        Incorrect username or password.
        </p><br>";
    }

}
?>

你能帮帮我吗。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-22 23:24:34

函数:

代码语言:javascript
复制
password_verify()

期望第二个参数是函数创建的密码的散列:

代码语言:javascript
复制
password_hash()

或者将密码作为散列存储在数据库中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45820393

复制
相关文章

相似问题

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