Почему моя страница все еще выполняется? - PullRequest
0 голосов
/ 18 ноября 2009

У меня есть форма, которая отправляет сообщения в сценарий обработки, который проверяет ошибки в сообщении. В зависимости от обработки заголовок перенаправляется в другое место. Похоже, это работает, но я только что заметил, что все еще выполняет вещи после заголовка.

Что происходит?

Ответы [ 3 ]

11 голосов
/ 18 ноября 2009

Нам понадобится код, чтобы точно увидеть, что происходит ...

Но, скорее всего, вы уверены, что не используете выход (); или умри(); после вашего заголовка ("Location: ...");

, например

//check your post

if($errors)
{
    header("Location: errors.php"); // bug fixed =D
    exit();

    // this will still be executed if the exit was not there.
}
4 голосов
/ 18 ноября 2009

Поставить die(); после функции header();

0 голосов
/ 18 ноября 2009

Это правильное поведение - вызов header() не остановит скрипт немедленно. Для большинства других заголовков (Content-type, ETag, Expires и т. Д.) Вы не хотите его остановку, поскольку эти заголовки относятся к содержимому, которое должно последовать; в этом отношении, Местоположение: немного необычно.

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