Привет!
Стоит задача реализовать такой функционал: на главной странице пользователь вводит данные в форму, после чего его перекидывает на страницу с допродажей какого-то товара. По клику на кнопку "Добавить к заказу" в письме, которое отправляется менеджеру, должен добавиться пункт, что человек добавил к заказу ещё кое-что.
Имеем обычную форму:
<form method="post">
<input type="text" name="name" required placeholder="Введите ваше имя">
<input type="text" name="phone" class="phone-mask" required placeholder="Введите ваш телефон">
<input type="submit" class="button" value="Отправить">
<p class="success">Ваша заявка успешно отправлена!</p>
</form>
PHP-код на отправку письма (урезал строчки с адресом почты):
$message = "<table width='450' border='0' cellspacing='0' cellpadding='5' style='font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #000;'>
<tr>
<td colspan='2' style='border: 2px solid #eee; background: #eee; font-weight: 700; font-size: 16px;'>".$subject."</td>
</tr>";
if (isset($_POST['name']) && !empty($_POST['name'])) {$message .= "<tr>
<td width='154' style='border: 2px solid #eee; border-top: none; font-size: 14px;'>Имя</td>
<td width='276' style='border: 2px solid #eee; border-top: none; border-left: none; font-size: 14px;'>".$_POST["name"]."</td>
</tr>";}
if (isset($_POST['phone']) && !empty($_POST['phone'])) {$message .= "<tr>
<td style='border: 2px solid #eee; border-top: none; font-size: 14px;'>Телефон</td>
<td style='border: 2px solid #eee; border-top: none; border-left: none; font-size: 14px;'>".$_POST["phone"]."</td>
</tr>";}
$message .= "</table>";
mail($email, $subject, $message, $headers);
И JS-код:
$("form").submit(function() {
var th = $(this);
$.ajax({
type: "POST",
url: "send.php",
data: th.serialize()
}).done(function() {
$('.button').css('display', 'none');
$('.success').css('display', 'block');
});
return false;
});
На данный момент логика такая: клиент отправляет форму, без перезагрузки страницы ему выводится сообщение, что он молодец и заказ отправлен.
Нужно: после отправки формы отправить клиента на другую страницу с информацией о доп. товарах с двумя кнопками: добавить и отказаться.
При клике на кнопку "добавить" в отправляемое письмо нужно добавить строчку о том, что клиент хочет доп. товар.
Проблемы:
1. Письмо отправляется сразу после отправки формы, т.е. инфу про доп. товар нужно отправлять вторым письмом, что не подходит в данном случае.
2. Если ждать, пока клиент выберет добавлять или не добавлять товар и только потом отправлять письмо - можно потерять кучу клиентов, потому что клиент может просто закрыть вкладку, не выбрав ничего.
Варианты решения:
1. Использовать какую-то БД для фиксирования заказов и при добавления доп. товара обновлять информацию в БД, после чего использовать какой-то скрипт, который будет обращаться к БД, собирать инфу и отправлять на почту — не подходит, сложно для меня в реализации, нужен простой и элегантный способ решения задачи.