我正在向php页面发送ajax请求,我正在检查我的用户名和密码。这可能是ajax代码:
success: function(response)
{
if(response === "success"){
$(location).attr('href','adminHome.php');
}
else
$("#message").html('<p class="error">ERROR: Invalid username and/or password.'+response+'</p>');
}
在PHP代码中我连接到数据库。并检查用户名密码是否存在。
这是我的PHP代码
$sql="SELECT * FROM mainadmin where username='$username' and password='$password'";
$result = mysql_query($sql);
$numrows = mysql_num_rows($result);
while ($row = mysql_fetch_array($result))
{
echo $row['username']." ".$row['password'];
}
if($numrows>0)
{
$_SESSION['username'] = $username;
echo "success";
}
正在从数据库返回正确的用户和密码,而不是将其重定向到adminHome.php页面。我在做什么错误?代码总是在ajax中执行成功的else部分,显示警告消息。
答案 0 :(得分:0)
试试此代码
$sql="SELECT * FROM mainadmin where username='$username' and password='$password'";
$result = mysql_query($sql);
$numrows = mysql_num_rows($result);
$row = mysql_fetch_array($result);
if($numrows>0)
{
$_SESSION['username'] = $username;
echo "success";
} else {
echo 'error';
}
我认为问题是因为你正在回显用户名和密码,然后成功,所以当你检查$ result的值时,它与你的想法不相符。
我真的希望你也在清理$ username和$ password变量,我建议你迁移到使用PDO而不是mysql_函数,因为它们已被弃用,并且将在不久的将来从PHP中删除。如果您不能或不希望使用PDO,那么只需迁移到使用mysqli_ *函数或对象即可。我强烈建议您使用绑定参数为PDO选择PDO的路径。