Не работает редирект на другую страницу.

Doovi

Новичок
Помогите пожалуйста, в программировании не силён, только начинаю. Вот код. Но почему-то не перенаправляет после отправлении формы. Спасибо большое.

<?
//error_reporting(E_ALL);
$theme = $_POST['title'];
$data = var_export($_POST, true);

$fields = array(
'title' => 'Откуда пришли данные',
'land' => 'Страна',
'night_from' => 'Ночей с',
'night_to' => 'Ночей по',
'date_from' => 'Дата с',
'date_to' => 'Дата по',
'adult' => 'Взрослых',
'kids' => 'Детей',
'price' => 'Цена',
'name' => 'Имя',
'phone' => 'Телефон',
'email' => 'Email',
'metro' => 'Метро',
);

$data = '';
foreach($_POST as $key => $value)
$data .= sprintf("%s: %s\n", $fields[$key], $value);

var_dump($data);

$res = mail("[email protected]", $theme, $data);
if($res)
{
header('Location: http://landing.turist.guru/spasibo.html');
echo "Всё ОК";
exit;
}
else{
echo "Почта не ушла";
}
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Включи вывод ошибок, и убери весь вывод, что у тебя идет до функции header.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
не надо тыркать, надо пойти и прочитать http://phpfaq.ru/debug

Дальше прочитать как я сказал - мануал, понять, что никакого вывода ДО функции header быть не должно.
 

Vano

Новичок
А мне не впадло объяснить. Когда ты заходиш на какой-нибудь урл, ты получаеш Заголовки + тело ответа. В загаловках служебная информация для браузера(типа какой размер ответа, какой тип данных в ответе и тд.) и в теле сами данные. Есть такой заголовок как Локейшн, для перенаправления браузера на другой ЮРЛ. Так вот заголовки нельзя назначать после назначения тела. Функция header() создает заголовок ответа. Своими словами както-так.
 

Doovi

Новичок
А мне не впадло объяснить. Когда ты заходиш на какой-нибудь урл, ты получаеш Заголовки + тело ответа. В загаловках служебная информация для браузера(типа какой размер ответа, какой тип данных в ответе и тд.) и в теле сами данные. Есть такой заголовок как Локейшн, для перенаправления браузера на другой ЮРЛ. Так вот заголовки нельзя назначать после назначения тела. Функция header() создает заголовок ответа. Своими словами както-так.
Ребята, я полный нуб в этом деле, так и написал - начинающий. Я чтобы найти как делать редирект потратил 3 часа, на сайтах и куда его вставлять.

Пожалуйста, если есть возможность прямо указать что и где прописывать, я буду безмерно благодарен. А пока у меня желание застрелиться. Потому что уже голова гудит...
 

Doovi

Новичок
не надо тыркать, надо пойти и прочитать http://phpfaq.ru/debug

Дальше прочитать как я сказал - мануал, понять, что никакого вывода ДО функции header быть не должно.
Ребята, я полный нуб в этом деле, так и написал - начинающий. Я чтобы найти как делать редирект потратил 3 часа, на сайтах и куда его вставлять.

Пожалуйста, если есть возможность прямо указать что и где прописывать, я буду безмерно благодарен. А пока у меня желание застрелиться. Потому что уже голова гудит...
 

Vano

Новичок
ну вот же объяснили. Если хочешь назначить заголовки они должны быть до вывода какой либо информации. Тоесть либо этот редирект на начало файлика php, либо удали любой вывод типа echo var_dump, который находиться ДО header().
 
Сверху