0

登录就像典型的登录一样工作,问题是你只能输入用户名,它会让你登录。如果用户名是正确的,那么密码甚至都无关紧要。

php

<?php
include 'password.php'; 

session_start();
if (!isset($_SESSION['loggedIn'])) {
    $_SESSION['loggedIn'] = false;
}

if (isset($_POST['password']) && isset($_POST['user'])) {
    if (sha1($_POST['password'] == $password) && sha1($_POST['user']) == $user) {
        $_SESSION['loggedIn'] = true;
    } else {
        $error_msg = "Incorrect Login!";
    }
} 

if (!$_SESSION['loggedIn']): ?>
4

2 回答 2

5

错误在这一行

    if (sha1($_POST['password'] == $password) && sha1($_POST['user']) == $user) {

你把括号放在错误的地方(密码后面的那个),下面应该没问题。

    if (sha1($_POST['password']) == $password && sha1($_POST['user']) == $user) {
于 2012-05-15T21:25:44.627 回答
0

除了marvin解释的事实之外,我还会在您的代码中添加一行。

} else {
        $error_msg = "Incorrect Login!";
        $_SESSION['loggedIn'] = false;   // Add this line
}
于 2012-05-15T21:33:20.323 回答