重定向无法正常工作

时间:2012-02-08 00:23:05

标签: php redirect login header authorization

我的登录程序如下:

  • 用户填写电子邮件并传递字段
  • Ajax将这些字段发送给reg_system.php。这是源代码 文件

if (isset($_POST['formID']) && !empty($_POST['formID'])) {
    $registration = new registration($db);
    $forms = array('signup_form', 'signin_form', 'tcr_form');
    if (in_array($_POST['formID'], $forms)) {
        $redirect = "";
        switch ($_POST['formID']) {
            case 'signin_form':
                if ($registration->signin())
                    $redirect ='me';
                break;
            case 'tcr_form':
            case 'signup_form':
                $registration->signup();
                break;
        }
    }
    if (!empty($redirect))
         header("Location:".wsurl."?page=".$redirect); 
}

注意:之前声明的wsurl,并且是正确的值。

  • 如果$registration->signin()返回true,则必须重定向到    domain.com/?page=me

在调试过程中,我发现一切顺利,$ registration-> signin()函数返回true。但是在后期处理Firebug XHR显示此屏幕后

enter image description here

然后重定向 enter image description here

页面保持不变:在同一登录页面上。脚本不会重定向到任何地方..

我不知道是什么导致这种情况,因为检查整个调试过程将近10倍。 PHP在header()之前不输出任何内容。

1 个答案:

答案 0 :(得分:1)

尝试使用JS进行重定向。它可能比通过php做得更好。

<script type="text/javascript">
<!--
window.location = <?php echo wsurl."?page=".$redirect; ?>;
//-->
</script>