Перенаправление не работает должным образом - PullRequest
0 голосов
/ 08 февраля 2012

Моя процедура входа выглядит следующим образом:

  • Пользователь заполняет электронную почту и передает поля
  • 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 Ответ

1 голос
/ 08 февраля 2012

Попробуйте использовать JS для перенаправления. Это может быть лучше, чем делать это через php.

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