@Olks9

Как правильно настроить редирект после отправки формы?

Добрый день! Помогите, пожалуйста, со следующей проблемой:
Есть форма с отправкой данных на email, данные отправляет верно, но редирект после отправки не работает. Если не затруднит — можете указать, что сделано неверно?

<?php 
if($_REQUEST['setorder1'])
{        
    {       
       $firstname1 = substr(htmlspecialchars(trim($_POST['firstname1'])), 0, 100); 
		$phone1 = substr(htmlspecialchars(trim($_POST['phone1'])), 0, 100); 
		$email1 = substr(htmlspecialchars(trim($_POST['email1'])), 0, 100); 
	
require_once "SendMailSmtpClass.php";
  
$mailSMTP = new SendMailSmtpClass('mail@yandex.ru', '9871234', 'ssl://smtp.yandex.ru', '111222', 465);

$mess = "Имя: ".$firstname1."\r\n"."Телефон: ".$phone1."\r\n"."Email: ".$email1;
	
if (!($phone1 == "")) 
{
	$headers= "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/plain; charset=utf-8\r\n";
	$headers .= "From: обратная связь <mailfrom@yandex.ru>\r\n";

	$result =  $mailSMTP->send('mail@gmail.com', 'Форма обратной связи', $mess , $headers);		
	

	$_POST = array();
	
	unset($_POST);	
}	
		$_POST = array();
		unset($_POST);
		
		header ('Location: http://yandex.ru/');
	
    }
}
?>
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
orlov0562
@orlov0562
I'm cool!
1) убедись что выполнение доходит до header, вот так
...
die('i am here');
header(..);
...

должно вывестить 'i am here'
если не вывелось, значит не доходит и ищи причину почему

2) останови скрипт после header, вот так
...
header(..);
exit;
...


3) До header, не должно ничего выводится на страницу, иначе будет ошибка "Cannot send headers; headers already sent", которая в твоем случае может писаться в логи и ты ее не видишь...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы