Заголовок местоположения PHP, вызывающий ошибку - PullRequest
0 голосов
/ 22 октября 2011

У меня есть следующий тег для успешного входа пользователя в систему:

header('Location: /members');

Это всегда работало. Однако теперь, когда я пытаюсь загрузить страницу, Chrome выдает мне эту ошибку:

HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request.

В Firefox я просто получаю пустую страницу. Когда я комментирую заголовок, он работает, но без перенаправления (очевидно).

Я пробовал с включенной и выключенной буферизацией вывода, с тем же эффектом. Есть идеи?

Редактировать: в начале кода есть оператор заголовка PHP, который перенаправляет пользователей на страницу участника, если они уже вошли в систему. Может ли это повлиять на это? Я не получаю никаких заголовков уже отправленных ошибок ...

Ответы [ 2 ]

1 голос
/ 22 октября 2011

Просто поместите error_reporting (E_ALL) и ini_set ("display_errors", 1), и вы увидите, что не так.

0 голосов
/ 22 октября 2011

Установите расширение HTTP и используйте его вместо:

http_redirect('/members');

Это должно сработать.Если у вас не установлено.Вы можете имитировать то, что он делает.Это подробно объяснено на странице руководства , кратко:

  • Создайте абсолютный URI из относительного URI, поскольку перенаправления по RFC должны иметь один.
  • Проверьте, отправлены ли уже заголовки, если нет, не отправляйте заголовок, в противном случае сделайте.
  • Отображение тела ответа HTTP со ссылкой на перенаправление.
  • Выйдите из сценария.

Если вы не выполните спецификации , вы не можете ожидать, что все работает с браузером.Многие примеры, приведенные в Интернете, , а не , дают перенаправления соответствия, так что не заблуждайтесь плохими примерами.

Рядом с этим, как уже предлагали другие, включите отчеты об ошибках на вашем компьютере.окно разработки, чтобы вы знали о любых уведомлениях и предупреждениях, которые генерирует ваш код.Решите и эти проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...