Почему этот код не работает?
Он всегда входит в else и устанавливает $_SESSION['wronglogin']=1; это сценарий входа в систему, который вводит идентификатор электронной почты и пароль, а затем проверяет, что если что-то подобное существует, то он должен запускаться $_SESSION['loggedin'], в противном случае $_SESSION['wronglogin']. Я много пробовал, но я просто не понимаю
$_SESSION['login-id']=$loginid;
$_SESSION['loginpassword']=$loginpassword;
$loginid = stripslashes($loginid);
$loginpassword = stripslashes($loginpassword);
$loginid = mysql_real_escape_string($loginid);
$loginpassword = mysql_real_escape_string($loginpassword);
$con = mysql_connect("localhost", "moodabsz_naman", "database") or die(mysql_error());
mysql_select_db("moodabsz_database",$con) or die(mysql_error());
$sql="SELECT *
FROM user
WHERE `email_id` = '$loginid'
AND `password` = '$loginpassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
$_SESSION['loggedin']=1;
mysql_close($con);
header('location: index.php');
}
else {
$_SESSION['wronglogin']=1;
echo "Wrong Username or Password";
mysql_close($con);
header('Location: index.php');
}
$_SESSION
не заполнены. Я нигде не вижуsession_start()
- person Cfreak   schedule 13.12.2012mysql_*
, поскольку они устарели. Используйте PDO (php.net/PDO) и параматизированные запросы. Ваш код подвержен уязвимостям SQL Injection. - person Cfreak   schedule 13.12.2012session_start()
? может помочь. Также не используйтеmysql_*
, потому что использование этого расширения не рекомендуется. Также обратите внимание, что вы проверяете 2 раза. Вы можете сделать это сразу, какif(mysql_query("SELECT * FROM user WHERE email_id = '$loginid' AND password = '$loginpassword' LIMIT 1")) echo 'I have data so i may pass';
- person Ron van der Heijden   schedule 13.12.2012mysql_error
после вызоваmysql_query()
- person Cfreak   schedule 13.12.2012$count==1
. ДобавьтеLIMIT 1
к запросу. - person MrCode   schedule 13.12.2012email_id
= '$loginid' ANDpassword
= '$loginpassword'){ $_SESSION['loggedin']=1; @MrCode - person user1901478   schedule 13.12.2012if(true)
, потому что это, по сути, то, что он делает. - person MrCode   schedule 13.12.2012die($sql)
перед запросом, затем скопировать точный результат в phpMyAdmin или напрямую в MySQL и сообщить нам, есть ли строки и сколько. - person MrCode   schedule 13.12.2012die($sql)
, затем измените на$result=mysql_query($sql) or die('error: ' . mysql_error());
, затем запустите свой код и сообщите нам, что он выводит - person MrCode   schedule 13.12.2012Wrong Username or Password
на странице? - person MrCode   schedule 13.12.2012mysql_real_escape_string()
? - person MrCode   schedule 13.12.2012