繁体   English   中英

在Ajax调用中重定向PHP

[英]PHP Redirect in Ajax call

我有一个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时完全重定向。

请帮忙。

你通过ajax在php中打印的任何内容都只会打印出来。 php中的重定向代码在这里不起作用。 你可以从php发送某种状态消息,并在你的ajax调用上检查。 顺便说一句,它将取得成功

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM