@Drumsid

Скрипт формы обратной связи не перенаправляет?

Пытаюсь скрипт написать для формы обратной связи, в конце пишу редирект на главную,
header("Location: http://test-site.ru");
но он не работает, просто открывает страницу /mail.php и все, письмо уходит по назначению, и действительно приходит на почту но редиректа не происходит.
форма
<form action="mail.php" method="post">
  <fieldset>
  <legend>Оставьте сообщение:</legend>
  Ваше имя: 
  <input type="text" name="name">
  E-mail:
  <input type="text" name="email">
  Номер телефона:
  <input type="text" name="phone">
  Сообщение:
  <textarea rows="10" cols="45" name="message"></textarea>
  <input type="submit" value="Отправить сообщение">
  </fieldset>
  </form>


файл mail.php
$to = "test@test.ru"; 
$tema = "Форма обратной связи на PHP"; 
$message = "Ваше имя: ".$_POST['name']."<br>";
  $message .= "E-mail: ".$_POST['email']."<br>"; 
$message .= "Номер телефона: ".$_POST['phone']."<br>"; 
$message .= "Сообщение: ".$_POST['message']."<br>"; 
$headers  = 'MIME-Version: 1.0' . "\r\n"; 
  $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; 
mail($to, $tema, $message, $headers); 
header("Location: http://test-site.ru");

и можно как то перенаправить на ту же страницу откуда форма отправлялась?
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
@teskly
Веб-разработчик
Первым делом проверьте, перед вызовом функции header() до тегов <?php ... ?> на наличие каких-либо пробелов. Заголовки должны указываться всегда перед телом ответа. А вообще, стоило бы сделать форму и ее обработчик в пределах одного маршрута.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mssmaks
После header должен быть exit();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы