@hollanditkzn

Почему не переходит на другую страницу после отправки формы?

Не получается сделать так, чтобы после отправки формы у меня переходила на другую страницу, не могу понять ошибку
Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\futbolka\orderBuy.php:18) in C:\OpenServer\domains\futbolka\configKonsr.php on line 27

Warning: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\futbolka\orderBuy.php:18) in C:\OpenServer\domains\futbolka\orderBuy.php on line 20


Весь код вот он
require("configKonsr.php");
	$tel = htmlspecialchars($_POST["tel"]);
	$type = htmlspecialchars($_POST["type"]);
	$color = htmlspecialchars($_POST["color"]);
	$photo = $_FILES["photo"];
	$turn = htmlspecialchars($_POST["turn"]);
	$size = htmlspecialchars($_POST["size"]);
	$font = htmlspecialchars($_POST["font"]);
	$text = htmlspecialchars($_POST["text"]);
	$sizeText = htmlspecialchars($_POST["sizeText"]);
	$colorText = htmlspecialchars($_POST["colorText"]);
	$sizeFutbol = htmlspecialchars($_POST["sizeFutbol"]);
	$to="zackieff@gmail.com";
	$subject="Конструктор с сайта Печать  на футболках";
	$message = "Телефон ".$tel."\n Тип ".$type."\n Цвет ".$color."\n Название картинки ".$img."\n Поворот ".$turn."\n Масштаб ".$size."\n Шрифт ".$font."\n Текст ".$text."\n Размер текста ".$sizeText."\n Цвет текста ".$colorText."\n Размер футболки ".$sizeFutbol;

	print_r($_POST);
	sendSMTP($to, $subject, $message, $attach);
	print_r($photo);

И когда отравляет сообщение на почту, то долно автоматически переводить пользователя на другую сраницу

function sendSMTP($to, $subject, $message, $attach=false)
{
	require("class.phpmailer.php");
	require("class.smtp.php");
	$mail= new PHPMailer();
	
	$mail->FromName= "Holland";
	$mail->SMTPDebug = 1;
	$mail->Host = "smtp.gmail.com";
	$mail->SMTPSecure= "ssl";
	$mail->Port = "465";
	$mail->SMTPAuth = true;
	$mail->CharSet = "utf-8";
	$mail->Username = "holland.itkzn@gmail.com";
	$mail->Password = "JKka235s7";
	$mail->addAddress($to);
	$mail->From = $to;
	$mail->Subject = $subject;
	$mail->Body = $message;
	if (isset($_FILES["imgFile"])){
		if ($_FILES["imgFile"]["error"]==0) {
			$mail->AddAttachment($_FILES["imgFile"]["tmp_name"], $_FILES["imgFile"]["name"]);
		}
	}
	if($mail->Send()){
		header("Location: than.php");
	}else{echo "письмо не отправлено"; echo "Ошибка: ".$mail->ErrorInfo;}
}
  • Вопрос задан
  • 446 просмотров
Решения вопроса 1
@hollanditkzn Автор вопроса
Решена проблема, надо header всегда выше ставить, и ничего перед ним на экран не выводить
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@stoik_kpd
Ругается на это: dl3.joxi.net/drive/2017/02/24/0016/1202/1090738/38...

Т.к. header должен быть в самом верху файла. До передачи какого либо текста клиенту
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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