Как сделать так чтобы в письме указывалось с какой страницы отправлена заявка?
<?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'].
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы в письме указывалось с какой страницы была отправлена заявка, необходимо включить параметр "Referer" в HTTP-заголовках при отправке формы.
Вот пример того, как это можно реализовать на стороне сервера, используя PHP:
if ($_SERVER['REQUEST_METHOD'] === 'POST') { $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Unknown'; // Далее можно добавить эту информацию в тело письма или сохранить в базе данных }
В данном коде мы проверяем, был ли отправлен POST-запрос на сервер. Если да, то мы получаем значение HTTP-заголовка "Referer" из массива $_SERVER. Если заголовок существует, то мы сохраняем его значение в переменную $referer, иначе присваиваем значение 'Unknown'.
После этого вы можете использовать переменную $referer для добавления информации о странице, с которой была отправлена заявка, в тело письма или сохранения ее в базе данных.
Таким образом, при получении письма вы сможете видеть, с какой страницы была отправлена заявка, что поможет вам лучше ориентироваться и обрабатывать запросы от пользователей.