2014-01-29 6 views
0

Привет У меня есть этот кусок кода, но всякий раз, когда я ввожу любое имя пользователя или пароль, правильно или неправильно, он просто показывает код внутри блока else. Я бы очень признателен за любую помощь.php login system не работает

if (isset($_POST['email']) && isset($_POST['password'])) 
{ 
$username=htmlspecialchars($_POST['email']); 
$username=trim($POST['email']); 
$username=stripslashes($POST['email']); 
$username=mysql_real_escape_string($POST['email']); 
$password=htmlspecialchars($_POST['password']); 
$password=trim($_POST['password']); 
$password=stripslashes($_POST['password']); 
$password=mysql_real_escape_string($_POST['password']); 

} 
mysql_select_db ($db,$dbconnect); 
$check="SELECT * FROM students WHERE (username='$username') AND (password='$password')  
LIMIT 1"; 
$result=mysql_query($check); 
$count=mysql_num_rows($result); 


if ($count==1) 
{ 
$_SESSION[$username]; 
$_SESSION[$password]; 
header ('Location: attendance.php'); 
exit(); 

} 
else 
{ 
echo "wrong password or username"; 
} 
?> 
+0

Запрашиваете ли вы свой запрос из командной строки? Вы получаете какие-либо ошибки? Вы не проверяете ошибки в своем коде, чтобы объяснить, почему вы их не видите. –

+0

Если есть два пользователя с одинаковым именем и паролем, $ count будет == 2, и вы увидите «else» в любом случае. –

+3

Никогда, * never *, *** never *** хранить пароли в текстовом виде. – David

ответ

0

Вы должны использовать mysqli или лучше PDO, поскольку mysql устарел, но попробуйте это.

if (isset($_POST['email']) && isset($_POST['password'])) 
{ 

    $username=mysql_real_escape_string($POST['email']); 
    $password=mysql_real_escape_string($_POST['password']); 

    mysql_select_db ($db,$dbconnect); 
    $check="SELECT * FROM students WHERE (username='$username') AND (password='$password')  
    LIMIT 1"; 
    $result=mysql_query($check); 
    $count=mysql_num_rows($result); 

} 


if (isset($count) && $count == 1) 
{ 
    $_SESSION[$username]; 
    $_SESSION[$password]; 
    header ('Location: attendance.php'); 
    exit(); 

} 
else 
{ 
    echo "wrong password or username"; 
} 
?> 
+0

Я бы сказал, что я новичок в php, поэтому просто проверяю это и обязательно включу все изменения, включая шифрование паролей, дезинфекцию полей ввода и т. Д., Которые записаны в комментариях в исходном скрипте. Он работает сейчас. Спасибо вам, ребята! – user3150373