Как сделать так чтобы в письме указывалось с какой страницы отправлена заявка?

Ссылка скопирована
PHP
1 ответ
<?php 	use PHPMailerPHPMailerPHPMailer; 	// Файлы phpmailer 	require 'phpmailer/src/PHPMailer.php'; 	require 'phpmailer/src/Exception.php';  	// Настройки PHPMailer 	$mail = new PHPMailer(true); 	$mail->CharSet = 'UTF-8'; 	$mail->setLanguage('ru', 'phpmailer/language/'); 	$mail->isHTML(true);  	// От кого письмо 	$mail->setFrom('Marketing@informatsiya-modelyam.ru'); 	// Кому отправить 	$mail->addAddress('Marketing@informatsiya-modelyam.ru');   	// Тема письма 	$mail->Subject = 'Анкета модели'; 	header('Location: /informatsiya-modelyam'); 	 	//Тело письма 	if(trim(!empty($_POST['user_name']))){ 		$body.='<p><strong>ФИО Модели:</strong> '.$_POST['user_name'].'</p>'; 	} 	if(trim(!empty($_POST['user_email']))){ 		$body.='<p><strong>Email модели:</strong> '.$_POST['user_email'].'</p>'; 	} 	if(trim(!empty($_POST['user_phone']))){ 		$body.='<p><strong>Телефон модели: </strong> '.$_POST['user_phone'].'</p>'; 	} 	if(trim(!empty($_POST['user_age']))){ 		$body.='<p><strong>Возраст модели:</strong> '.$_POST['user_age'].'</p>'; 	} 	if(trim(!empty($_POST['user_procedure']))){ 		$body.='<p><strong>Процедура:</strong> '.$_POST['user_procedure'].'</p>'; 	}  	if (!empty($_FILES['upload']['name'][0])) { 		foreach ($_FILES['upload']['name'] as $key => $value) { 			$out_files[] = array("name"=>$_FILES['upload']['name'][$key], "tmp_name" => $_FILES['upload']['tmp_name'][$key]); 		} 		$filesSend = true; 	} else { 		$filesSend = false;     	} 	if ($filesSend) { 		foreach ($out_files as $k=>$v) { 			$mail->AddAttachment($out_files[$k]['tmp_name'], $out_files[$k]['name']); 		} 	}  	$mail->Body = $body; 	$mail->AltBody = '';  	// Отправляем 	if(!$mail->send()) { 		echo 'Ошибка'; 	} else { 		header('location: /thank-you/index.php'); 	} ?>

<?php use PHPMailerPHPMailerPHPMailer; // Файлы phpmailer require 'phpmailer/src/PHPMailer.php'; require 'phpmailer/src/Exception.php'; // Настройки PHPMailer $mail = new PHPMailer(true); $mail->CharSet = 'UTF-8'; $mail->setLanguage('ru', 'phpmailer/language/'); $mail->isHTML(true); // От кого письмо $mail->setFrom('Marketing@informatsiya-modelyam.ru'); // Кому отправить $mail->addAddress('Marketing@informatsiya-modelyam.ru'); // Тема письма $mail->Subject = 'Анкета модели'; header('Location: /informatsiya-modelyam'); //Тело письма if(trim(!empty($_POST['user_name']))){ $body.='<p><strong>ФИО Модели:</strong> '.$_POST['user_name'].'</p>'; } if(trim(!empty($_POST['user_email']))){ $body.='<p><strong>Email модели:</strong> '.$_POST['user_email'].'</p>'; } if(trim(!empty($_POST['user_phone']))){ $body.='<p><strong>Телефон модели: </strong> '.$_POST['user_phone'].'</p>'; } if(trim(!empty($_POST['user_age']))){ $body.='<p><strong>Возраст модели:</strong> '.$_POST['user_age'].'</p>'; } if(trim(!empty($_POST['user_procedure']))){ $body.='<p><strong>Процедура:</strong> '.$_POST['user_procedure'].'</p>'; } if (!empty($_FILES['upload']['name'][0])) { foreach ($_FILES['upload']['name'] as $key => $value) { $out_files[] = array("name"=>$_FILES['upload']['name'][$key], "tmp_name" => $_FILES['upload']['tmp_name'][$key]); } $filesSend = true; } else { $filesSend = false; } if ($filesSend) { foreach ($out_files as $k=>$v) { $mail->AddAttachment($out_files[$k]['tmp_name'], $out_files[$k]['name']); } } $mail->Body = $body; $mail->AltBody = ''; // Отправляем if(!$mail->send()) { echo 'Ошибка'; } else { header('location: /thank-you/index.php'); } ?>

Дополнительно:

Ну сделайте по аналогии с любого другого поля. Или вы не можете найти саму страницу откуда запрос?
https://www.php.net/manual/ru/reserved.variables.s...

Либо отсылать эту информацию со страницы, например в скрытом поле, либо брать из $_SERVER['HTTP_REFERER'].

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Елена Вебер Ответ

Для того чтобы в письме указывалось с какой страницы была отправлена заявка, необходимо включить параметр "Referer" в HTTP-заголовках при отправке формы.

Вот пример того, как это можно реализовать на стороне сервера, используя PHP:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Unknown';
 
    // Далее можно добавить эту информацию в тело письма или сохранить в базе данных
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') { $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Unknown'; // Далее можно добавить эту информацию в тело письма или сохранить в базе данных }

В данном коде мы проверяем, был ли отправлен POST-запрос на сервер. Если да, то мы получаем значение HTTP-заголовка "Referer" из массива $_SERVER. Если заголовок существует, то мы сохраняем его значение в переменную $referer, иначе присваиваем значение 'Unknown'.

После этого вы можете использовать переменную $referer для добавления информации о странице, с которой была отправлена заявка, в тело письма или сохранения ее в базе данных.

Таким образом, при получении письма вы сможете видеть, с какой страницы была отправлена заявка, что поможет вам лучше ориентироваться и обрабатывать запросы от пользователей.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно