Нужно ли делать die() после Header

Нужно ли die() после header

  • Да, нужно

    Голосов: 45 88,2%
  • Не нужно

    Голосов: 3 5,9%
  • Не знаю что ответить :-О

    Голосов: 3 5,9%

  • Всего проголосовало
    51
  • Опрос закрыт .

confguru

ExAdmin
Команда форума
Нужно ли делать die() после Header

Тут переделываю монстрообразный движок,
и возник вопрос есть скрипт который грузить
все классы (типа autoload)

При несуществующем классе мне нужно посылать
на индексную страницу header(бла-бла)

Я делаю die, чтоб не выполнялся дальнейший код,
правильно или это или нет.
 

Сергей123

Новичок

Location-хидер, видимо, имеется ввиду...

Я считаю, что exit надо делать, только если не хочешь, чтобы что-то ещё выполнилось и наоборот :)
 

Bermuda

Новичок
Re: Нужно ли делать die() после Header

Имеется в виду header("Location: http://bla-bla-bla/"), а не произвольный заголовок HTTP? В мануале говорят, что нужно. Впрочем, очень просто провести эксперимент.

PHP:
<?
header("Location: http://localhost/");
for ($i = 1; $i <= 100000; $i++) {
    touch("ok" . $i . ".txt");
}
?>
У меня на диске появилось ровно 100000 файлов и только лишь затем браузер перешел на другую страницу. Т. е. пока не сделаем die(); апач не прерывает выполнение скрипта и не прерывает соединение, следовательно выполняется весь код который следует за header("Location: http://localhost/");
 

Макс

Старожил PHPClub
да, нужно.
Я еще очищаю output_buffer (тот который ob_start()) перед редиректом, если в нем есть данные (часто ob_* функции использую).
 

Screjet

Новичок
Нужно заканчивать работу скрипта, но делать это нужно корректно (типа как Макс описал).
 

BeGe

Вождь Апачей, блин (c)
Re: Re: Нужно ли делать die() после Header

Автор оригинала: Bermuda
У меня на диске появилось ровно 100000 файлов и только лишь затем браузер перешел на другую страницу.
А почему ты решил что после функции Header пхп сам закончит свою работу.
 

Bermuda

Новичок
Re: Re: Re: Нужно ли делать die() после Header

Автор оригинала: BeGe
А почему ты решил что после функции Header пхп сам закончит свою работу.
Где я сказал, что php _ДОЛЖЕН_сам_закончить_свою_работу_ ?
 

Voffka

Guest
непомню где но вроде в старой опере или ff была проблема что если после loaction : ... шли какието данные то браузер не редиректило ... вот так
 

SiMM

Новичок
> непомню где но вроде в старой опере или ff была проблема что если после loaction : ... шли какието данные то браузер не редиректило ...
А где здесь сказано, что после Location будет вывод каких-то данных?
 

Voffka

Guest
а где сказано что их не будет ? )

ps
скриптов/ситуаций которые выводят какие-либо данные в отличии от тех которые не выводят больше , поэтому если не указано будут данные или нет отталкиваемся от большинства случаев
 
Сверху