Отправка 2-х разных писем AJAX

201
03 августа 2018, 09:20

Есть форма, которая отправляется два раза на две почты. Абсолютно одинаковые. Хотя на адрес который был внесен пользователем должно приходить простое сообщение, которое я создал в другом файле-обработчике. Вот он (reply.php):

<?php
$email  = trim($_GET["email"]);
$project_name = trim($_POST["project_name"]);
$letter = "Поздравляем, отправка сообщений на почту работает";
$from = "Learn French";
$subject = "French Tutors & Exams"; 
function adopt($text) {
    return '=?UTF-8?B?'.Base64_encode($text).'?=';
}
$headers = "MIME-Version: 1.0" . PHP_EOL .
"Content-Type: text/html; charset=utf-8" . PHP_EOL .
'From: '.adopt($project_name).'<nikita@hopesh.ru>' . PHP_EOL .
'Reply-To: nikita@hopesh.ru' . PHP_EOL;
mail($email, $subject, $letter, $headers);

Сама форма с обработкой ajax:

$("#contact-form__field").submit(function() { 
  var th = $(this); 
  var letter = $('#letter'); 
 
  Promise.all([ 
      $.ajax({ 
        type: "POST", 
        url: "../reply.php", 
        data: letter.serialize() 
      }), 
      $.ajax({ 
        type: "POST", 
        url: "../mail.php", 
        data: th.serialize() 
      }) 
    ]) 
    .then(function(results) { 
      console.log(results); 
      alert("Thank you, your message was sent."); 
      setTimeout(function() { 
        th.trigger("reset"); 
      }, 1000); 
    }); 
  return false; 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<form id="contact-form__field" class="contact-form__field" method="post" action="reply.php"> 
 
  <!-- Hidden Required Fields --> 
  <input type="hidden" name="project_name" value="Site"> 
  <input type="hidden" name="admin_email" value="niceclient@yandex.ru"> 
  <input type="hidden" name="form_subject" value="Data Contacts"> 
  <input type="hidden" name="letter" value="Поздравляем, отправка сообщений на почту работает" id="letter"> 
  <!-- END Hidden Required Fields --> 
 
  <p><label for="check1">First Name</label><br><input type="text" id="check1" name="First Name" required minlength="2"> 
    <label for="check2">Family Name</label><br><input type="text" id="check2" name="Family Name" required minlength="2"> 
    <label for="check3">Country</label><br><input type="text" id="check3" name="Country" required minlength="2"> 
    <label for="check4">Skype ID</label><br><input type="text" id="check4" name="Skype ID" required minlength="3"> 
    <label for="check5">Email</label><br><input type="email" id="check5" name="email" required> 
    <label for="check6">Message</label><br><textarea type="text" id="check6" name="Message"></textarea></p> 
  <button href="#" class="button" data-submit>Send a message</button> 
</form>

Первый обработчик (mail.php):

<< ? php 
 
$method = $_SERVER['REQUEST_METHOD']; 
 
//Script Foreach 
$c = true; 
if ($method === 'POST') { 
 
  $project_name = trim($_POST["project_name"]); 
  $admin_email = trim($_POST["admin_email"]); 
  $form_subject = trim($_POST["form_subject"]); 
 
  foreach($_POST as $key => $value) { 
    if ($value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject") { 
      $message. = " 
      " . ( ($c = !$c) ? '<tr>':'<tr style=" 
      background - color: #f8f8f8; 
      ">' ) . " < 
      td style = 'padding: 10px; border: #e9e9e9 1px solid;' > < b > $key < /b></td > 
        < 
        td style = 'padding: 10px; border: #e9e9e9 1px solid;' > $value < /td> < 
        /tr> 
      "; 
    } 
  } 
} else if ($method === 'GET') { 
 
  $project_name = trim($_GET["project_name"]); 
  $admin_email = trim($_GET["admin_email"]); 
  $form_subject = trim($_GET["form_subject"]); 
 
  foreach($_GET as $key => $value) { 
    if ($value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject") { 
      $message. = " 
      " . ( ($c = !$c) ? '<tr>':'<tr style=" 
      background - color: #f8f8f8; 
      ">' ) . " < 
      td style = 'padding: 10px; border: #e9e9e9 1px solid;' > < b > $key < /b></td > 
        < 
        td style = 'padding: 10px; border: #e9e9e9 1px solid;' > $value < /td> < 
        /tr> 
      "; 
    } 
  } 
} 
 
$message = "<table style='width: 50%;'>$message</table>"; 
 
function adopt($text) { 
  return '=?UTF-8?B?'.Base64_encode($text). 
  '?='; 
} 
 
$headers = "MIME-Version: 1.0".PHP_EOL. 
"Content-Type: text/html; charset=utf-8".PHP_EOL. 
'From: '.adopt($project_name). 
'<nikita@hopesh.ru>'.PHP_EOL. 
'Reply-To: nikita@hopesh.ru'.PHP_EOL; 
 
mail($admin_email, adopt($form_subject), $message, $headers);

READ ALSO
PHP: запись в файл vs база данных

PHP: запись в файл vs база данных

Есть простенькая гостевая книга: в форме обратной связи 2 поля (имя и комментарий), аяксом данные отправляются на сервер и обратно выводятся...

206
Как будет выглядеть аналог функции на D7?

Как будет выглядеть аналог функции на D7?

Как переписать сию конструкцию на D7? Не судите строго, Битрикс осваиваю только

188
Замена кавычек на елочки

Замена кавычек на елочки

Ребят есть ли регулярка заменяющая при выводе кавычки на елочки? Допустим в бд у меня есть запись "Тест" при выводе ее на сайте сменить кавычки...

244