@kasper051

Как сделать, чтобы вместе с формой отправки ajax. В письме было видно параметры товара в блоке «ваш выбор», который заказали?

Здравствуйте, как сделать, чтобы видно было что он выбрал на сайте в письме который заказал человек.
Пример письма с почты: Телефон: Имя: Почта: Тип: Размер: и тд
код в index.html
<a data-fancybox data-src="#hidden-content" href="javascript:;">Заказать</a>
                    
                    <div style="display: none;" id="hidden-content">
        
                            <h4>Ваш выбор</h4>
                            <p>Тип:</p>
                            <p>{{ myOption.myType }}</p>
                            <p>Размер отверстия, a:</p>
                            <p>{{ myOption.mySize }}</p>
                            <p>Размер шага 1, t:</p>
                            <p>{{ myOption.myStep }}</p>
			     <p>Размер шага 2, t:</p>
                            <p>{{ myOption.myStep2 }}</p>
                            <p>Открытая поверхность:</p>
                            <p>{{ myOption.mySpace }}</p>
                            <p>Максимальная ширина:</p>
                            <p>{{ myOption.myMaxSize }}</p>
							
			<div id="myform">
			<div class="myform">
			<form class="myform_form" id="myform_post">
			<input type="text"  id="name1" name="name1" placeholder="Введите ваше имя">
			<input type="text"  id="phone2" name="phone2" placeholder="Введите ваш номер телефона">
			<input type="submit" name="submit" class="m-btn" value="Заказать">
			</form>
		</div>
	</div>
 </div>

код в js
jQuery(document).ready(function () {
	jQuery("#modal_post").submit(function () {
		var postForm = jQuery('#modal_post');
		jQuery.ajax({
			type: "POST",
			url: "/wp-content/themes/danex_ltd/post.php",
		 	data: postForm.serialize(),
			success: function (data) {
				jQuery(postForm).html(data);
			},
			error: function (jqXHR, text, error) {
				jQuery(postForm).html(error);
			}
		});
		return false;
	});
});
jQuery(document).ready(function () {
	jQuery("#myform_post").submit(function () {
		var postForm = jQuery('#myform_post');
		jQuery.ajax({
			type: "POST",
			url: "/wp-content/themes/danex_ltd/post2.php",
		 	data: postForm.serialize(),
			success: function (data) {
				jQuery(postForm).html(data);
			},
			error: function (jqXHR, text, error) {
				jQuery(postForm).html(error);
			}
		});
		
		return false;
	});
	
});

код в post.php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (isset($_POST['name1'])) {$name = $_POST['name1'];}else{
    echo 'Введите имя';
  }
  if (isset($_POST['phone2'])) {$phone = $_POST['phone2'];}else{
    echo 'Введите телефон';
  } 
	$to = "info@frunze.kz"; /*Укажите адрес, га который должно приходить письмо*/
	$sendfrom   = "info@frunze.kz"; /*Укажите адрес, с которого будет приходить письмо, можно не настоящий, нужно для формирования заголовка письма*/
  $headers  = "From:" . strip_tags($sendfrom) . "\r\n";
  $headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-Type: text/html;charset=utf-8 \r\n";
  $subject = "Заявка с сайта";
  $message = "Заявка с сайта <br>
 <b>Имя пославшего:</b> $name <br>
 <b>Телефон:</b> $phone<br>
 <b>Тип:</b> $type<br>";
  $send = mail ($to, $subject, $message, $headers);
  if ($send == 'true')
  {
    echo '<center>
Спасибо за отправку вашего сообщения!
</center>';
  }
  else
  {
    echo '<center>

<b>Ошибка. Сообщение не отправлено!</b>

</center>';
  }
} else {
  http_response_code(403);
  echo "Попробуйте еще раз";
}

?>
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
mrusklon
@mrusklon
Не получается? Яростно гугли!
делаешь
<input type="hidden" name="hiddenvalue1" value="{{ myOption.myMaxSize }}">

и так все параметры которые надо передать в письмо

затем js итак сериализирует все поля формы и ловим это все дело обработчиком php , но без проверок логично.
Дописываем в php
$message = $_POST['hiddenvalue1']

все просто
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы