@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;}
}
  • Вопрос задан
  • 416 просмотров
Решения вопроса 1
@hollanditkzn Автор вопроса
Решена проблема, надо header всегда выше ставить, и ничего перед ним на экран не выводить
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@stoik_kpd
Ругается на это: dl3.joxi.net/drive/2017/02/24/0016/1202/1090738/38...

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

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

Войти через центр авторизации
Похожие вопросы
от 140 000 до 170 000 ₽
Stream Telecom Санкт-Петербург
от 120 000 ₽
от 120 000 до 250 000 ₽
07 июн. 2023, в 14:23
500 руб./за проект
07 июн. 2023, в 13:33
8000 руб./за проект
07 июн. 2023, в 13:31
1000 руб./за проект