Необходимо переходить на страницу с благодарностью после отправки формы PHP
После нажатия на кнопку на сайте - открывается сам файл .php и белый экран. Редирект должен проходить на страницу itog.html, но он не происходит
<?php
if (isset($_POST['submit_btn'])) {
// Email на который будет отправлено письмо
$to = "[email protected]";
// Email от имени которого будет отправлено письмо.
// Введите email вашего сайта, либо, в крайнем случае,
// продублируйте email из $to (может не работать)
$from = "[email protected]";
$subject = "Новая заявка на сайте"; // Тема присылаемого письма
$message = "На сайте была заполнена форма покупки"."\r\n"
// Если вы изменяли поля формы, внесите изменения ниже
."<b>Вариант доставки:</b> ".$_POST['theme-1']."\r\n"
."<b>Вариант оплаты:</b> ".$_POST['theme-2']."\r\n"
."<b>Имя:</b> ".$_POST['name']."\r\n"
."<b>email:</b> ".$_POST['email']."\r\n"
."<b>email:</b> ".$_POST['adress']."\r\n"
."<b>email:</b> ".$_POST['city']."\r\n"
."<b>email:</b> ".$_POST['district']."\r\n"
."<b>email:</b> ".$_POST['zip']."\r\n";
$headers = "From: ".$from."\r\nContent-type: text/html; charset=utf-8\r\n";
mail($to, $subject, $message, $headers);
header('Location: /itog.html');
}
?>
Ответы (1 шт):
Автор решения: JonBrasers
→ Ссылка
Помните, что функцию header() можно вызывать только если клиенту еще не передавались данные. То есть она должна идти первой в выводе, перед ее вызовом не должно быть никаких HTML-тегов, пустых строк и т.п. Довольно часто возникает ошибка, когда при чтении кода файловыми функциями, вроде include или require, в этом коде попадаются пробелы или пустые строки, которые выводятся до вызова header(). Те же проблемы могут возникать и при использовании PHP/HTML в одном файле. Manual - PHP