首页 > 解决方案 > 使用 PHP 数据对象登录

问题描述

当我尝试登录时,即使我输入了正确的密码,它也总是显示“密码错误”警告。

这是我的登录代码

if(isset($_REQUEST['btn-login'])) {
    if(!empty($_POST)) {
        $username = $_POST['Username'];
        $password = $_POST['Password'];

        $check_stmt = $pdo->prepare('SELECT username,password FROM user WHERE username=?');
        $check_stmt->execute([$username]);
        $user_check = $check_stmt->fetch(PDO::FETCH_ASSOC);
    
        if($user_check > 0) {
            if(password_verify($password, $user_check['password'])) {
                $_SESSION['users'] = $username;
                header("location: home.php");
            } else {  
                Print '<script>alert("Incorrrect Password");</script>';
                Print '<script>window.location.assign("login.php");</script>';
            }
        } else {
            Print '<script type="text/javascript">alert("Username not found");</script>';
            Print '<script>window.location.assign("login.php");</script>';
        }
    } 
}

这是html表单

<form action="login.php" method="POST">
    <label>Username : </label>
    <input type="text" name="Username" required></br>
    <label>Password : </label>
    <input type="password" name="Password" required></br>
    <input type="submit" name="btn-login" value="Login">
</form>

标签: phppasswords

解决方案


推荐阅读