2012-05-15 92 views
0

登录作为一个典型的登录应该,问题是,你可以只输入用户名,它会登录你。非常多,如果用户名是正确的,那么密码甚至不重要。php登录行为奇怪

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']): ?> 
+3

括号不是正确的第一部分,如果在sha1密码 – Rooster

回答

5

的错误是在这条线

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

你把括号错了地方(密码后的一个),下面应该罚款。

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

美丽:)我一直盯着这个20分钟。将标记为完整! – Blainer

0

除了事实marvin解释,我会添加一行到您的代码。

} else { 
     $error_msg = "Incorrect Login!"; 
     $_SESSION['loggedIn'] = false; // Add this line 
}