<?php
if($_GET['action'] == "out")
{
header('Location: http://www.google.ru/');
}
if (authorized())
{
header('Location: http://www.yandex.ru/');
}
else
{
echo 'PHP';
}
function authorized () {
header('Location: http://www.rambler.ru/');
return true;
}
?>
Подскажите, как работают header :
При передаче action=out перенаправляет на Яндекс. Почему не на гугл? Разве не должно быть перенаправления до выполнения последующего кода ?
Или php собирает все заголовки, удовлетворяющие условиям и потом посылает? Тогда возникает такой вопрос:
почему такой код при return false перенаправляет на Рамблер? (т.е. выполняется header внутри функции), а при return true на яндекс (header внутри функции не выполняется)?
<?php
if (authorized())
{
header('Location: http://www.yandex.ru/');
}
else
{
echo 'PHP';
}
function authorized () {
header('Location: http://www.rambler.ru/');
return false;
}
?>
т.е. header внутри функции выполняется, если других header'ов нет?