Answer the question
In order to leave comments, you need to log in
Sending a form to the mail?
There is an order form in which there are 5 checkboxes, how can I make the form send the content to the mail? I formed PHP, but how to add it to the message?
here is the HTML code.
<form id="order_form" method="POST">
<input type="hidden" name="formData" value="Оформление заказа">
<div class="col-md-6 col-sm-12 forms-wrap">
<div class="personal-data">
<div class="section__title">Личные данные</div>
<fieldset class="fieldset">
<input type="text" required="required" data-msg-required="Это поле необходимо заполнить"
name="user_name" placeholder="Ваше имя" value="" class="input required">
</fieldset>
<fieldset class="fieldset">
<input type="tel" required="required"
data-msg-vekaphonecustomUa="Пожалуйста, введите корректный телефон"
data-msg-phonecustom="Пожалуйста, введите корректный телефон"
data-msg-required="Это поле необходимо заполнить" name="user_phone"
data-mask="+7 (999) 999-99-99" placeholder="Номер телефона" value=""
class="input js-phone required">
</fieldset>
<fieldset class="fieldset">
<input type="email" data-msg-email="Введите корректный email" name="user_email"
placeholder="E-mail" value="" class="input">
</fieldset>
<fieldset class="fieldset">
<textarea name="user_message" placeholder="Ваш комментарий" class="input"></textarea>
</fieldset>
</div>
</div>
<div class="col-md-6 col-sm-12 forms-wrap">
<div class="additional-options">
<div class="section__title">Дополнительные опции</div>
<fieldset class="fieldset">
<select data-placeholder="Тип вашего дома" name="type_house" class="select js-select">
<option selected value="">не выбран</option>
<option value="1">Панельный</option>
<option value="2">Кирпичный</option>
<option value="3">Деревянный</option>
</select>
</fieldset>
<fieldset class="fieldset checkbox-wrap">
<label class="checkbox">
<input type="checkbox" id="ch1" name="options[]" value="Подоконник" checked-true><span
class="checkbox__text">Подоконник</span>
</label>
<label class="checkbox">
<input type="checkbox" id="ch2" name="options[]" value="Отливы" checked-true
class="checkbox"><span class="checkbox__text">Отливы</span>
</label>
<label class="checkbox">
<input type="checkbox" id="ch3" name="options[]" value="Откосы" class="checkbox"><span
class="checkbox__text">Откосы</span>
</label>
<label class="checkbox">
<input type="checkbox" id="ch4" name="options[]" value="Москитная сетка"
class="checkbox"><span class="checkbox__text">Москитная сетка</span>
</label>
<label class="checkbox">
<input type="checkbox" id="ch5" name="options[]" value="Монтаж" checked-true
class="checkbox"><span class="checkbox__text">Монтаж</span>
</label>
</fieldset>
</div>
<div class="ordering-forms__checkbox">
<fieldset class="fieldset">
<label class="checkbox">
<input type="checkbox" name="user_agreement" data-rule-required="true"
data-msg-required="Пожалуйста, подтвердите согласие на обработку персональных данных"
required="required">
<span class="checkbox__text">Ознакомлен с <a href="reglament.html"
target="_blank">Регламентом о защите персональных данных</a> и выражаю <a
href="agreement.html" target="_blank">согласие</a> на их обработку</span>
</label>
</fieldset>
</div>
</div>
</form>
$(document).ready(function () {
$('form').submit(function () {
var formID = $(this).attr('id'); // Получение ID формы
var formNm = $('#' + formID);
$.ajax({
type: 'POST',
url: 'order_form.php', // Обработчик формы отправки
data: formNm.serialize(),
success: function (data) {
// Вывод текста результата отправки в текущей форме
$(formNm).html(data);
}
});
return false;
});
});
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (isset($_POST['formData'])) {$formData = $_POST['formData'];}
if (isset($_POST['user_name'])) {$user_name = $_POST['user_name'];}
if (isset($_POST['user_phone'])) {$user_phone = $_POST['user_phone'];}
if (isset($_POST['user_email'])) {$user_email = $_POST['user_email'];}
if (isset($_POST['user_message'])) {$user_message = $_POST['user_message'];}
if(!isset($_POST['type_hause'])){$type_hause = $_POST['type_hause'];}
if(empty('options')){echo("не выбрано ни одного значения");echo'<br>';}
else{
$N = count($options);
for($i=0;$i<$N;$i++)
{
echo('- '.$options[$i]."");echo '<br>';
}
}
if (isset($_POST['user_agreement'])) {$AGREEMENT = $_POST['user_agreement'];}
$to = "[email protected]"; /*Укажите ваш адрес электронной почты*/
$headers = "Content-type: text/html; charset = utf-8";
$subject = "$formData";
$message = "$formData"."<br>";
$message.= "Отправитель: $user_name"."<br>";
$message.= "Телефон: $user_phone"."<br>";
$message.= "Почта: $user_email"."<br>";
$message.= "Сообщение: $user_message"."<br>";
$message.= "Тип дома: $type_hause"."<br>";
$message.= "Опции: $options"."<br";
$send = mail ($to, $subject, $message, $headers);
if ($send == 'true')
{
echo '<div class="modal__icon"><img src="images/logo.svg"></div>
<span>Ваша заявка успешно отправлена!</span>
<p>Благодарим вас за обращение в компанию VEKA. Наши партнеры свяжутся с вами в течение
нескольких часов. Если в течение одного рабочего дня вы не получите ответа, пожалуйста,
напишите в службу поддержки по адресу
<a href="mailto:[email protected]"><b>[email protected]</b></a></p>';
}
else
{
echo "<center><b>Ошибка. Сообщение не отправлено! Проверьте правильность введенных данных</b></center>";
}
} else {
http_response_code(403);
echo "Попробуйте еще раз";
}
?>
Answer the question
In order to leave comments, you need to log in
Well, debug sending, in JS, does the event catch, otherwise this is me
$('form').submit(function () {
...
$('form[id="order_form"]').on('submit', function() {
let $row = $(this).closest('form');
let data = $row.find('input, select, textarea').serialize();
$.ajax({
type: "POST",
url: "order_form.php",
data: data
}).done(function() {
alert("Успешно!");
});
return false;
});
if (isset($_POST['formData'])){
$name = strip_tags(trim($_POST['user_name']));
$phone = preg_replace("/[^+0-9]/s", "", strip_tags(trim($_POST['user_phone'])));
...
}
$message.= 'Отправитель: ' . $user_name . '<br>
Телефон: ' . $user_phone . '<br>
Почта: ' . $user_email . '<br>
Сообщение: ' . $user_message . '<br>
Тип дома: ' . $type_hause . '<br>"
Опции: ' . $options . '<br>';
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question