我有一个Ajax调用,它将登录表单的值发布到php文件,如果用户名和密码错误,将更新div id= #phplogin
上面的用户名和密码,并显示错误消息。
在同一个PHP文件中,如果用户名和密码正确,那么我正在重定向页面。但是这个重定向发生在div中,整个页面没有被重定向。现在我看到div中的重定向页面上面有用户名和密码。如何避免这种情况并完全重定向?
Ajax电话:
jQuery("#loginForm").validate({
submitHandler: function() {
var postvalues = jQuery("#loginForm").serialize();
jQuery.ajax
({
type: "POST",
url: "contact/process-loginform.php",
data: postvalues,
/* success: function(response)
{
jQuery("#phplogin").html(response).show('normal');
jQuery('#inputEmail1, #inputPassword1').val("");
}*/
error: function(response)
{
jQuery("#phplogin").html(response).show('normal');
jQuery('#inputEmail1, #inputPassword1').val("");
}
});
以下是代码的php部分:
if(mysql_num_rows($result) == 0) { // Combo not found
$phplogin = '<div class="alert alert-danger fade in">Invalid Username/Password. Please try again.</div>';
die($phplogin);
}
else
{
session_regenerate_id();
$_SESSION['sess_user_id'] = $result['id'];
$_SESSION['sess_username'] = $result['username'];
session_write_close();
header('Location: ../index.php');
}
现在,如何在mysql_num_rows($ result)== 0时显示错误,如何在mysql_num_rows($ result)!= 0时完全重定向。
请帮忙。
答案 0 :(得分:3)
通过ajax在php中打印的任何内容都只会打印出来。 php中的重定向代码在这里不起作用。 你可以从php发送某种状态消息,并在你的ajax调用上检查。 顺便说一下,它会在成功后重返