Зачем нужен exit после header("location: file.php")

Ох и развели флудильню...

Отдача браузеру заголовка Location: *** не гарантирует, что браузер выполнит редирект (его можно отключить).
Для таких случаев вы скриптом можете вывести еще некий html код, который выполнит редирект или просто линк, куда вы хотите направить пользователя, в надежде на его сознательность :)

Плюс не забываем, что скрипт может еще захотеть, что-то сделать (статистику например сформировать), для такого случая можно отправить:
PHP:
header("location: file.php");
header("Connection: close");
а после этого еще выполнить простыню кода... при этом браузер уже ничего не получит, любой вывод инфы типа echo, print, var_dump до браузера уже не дойдёт.
 
действительно бред я написал:)
после location скрипт и так не выполняется (проверил только что), ну в общем, получается, что exit ставится на тот случай если браузер вдруг решит выполнить скрипт после location
после location скрипт ВЫПОЛНЯЕТСЯ, просто изначально неправильно делал проверку, теперь ясно зачем exit
 
Назад
Сверху