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

Ссылка скопирована
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'); 	} ?>

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

Ну сделайте по аналогии с любого другого поля. Или вы не можете найти саму страницу откуда запрос?
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';
 
    // Далее можно добавить эту информацию в тело письма или сохранить в базе данных
}

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

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

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

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

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

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

комментарий

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

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