Задать вопрос

Как правильно сделать отправку с проверкой условий?

Всем привет.
Есть макет сайта. На сайте есть модальное окно с выбором чек-боксов. Выбрав чек-боксы, необходимо отправить на почту уведомление(письмо) с выбранными чек-боксами. Не могу прикрутить php к кнопке. Т.е. если на хостинг кладу файл вида:

send.php
<?php
$to = 'моя_почта@mail.ru';
$subject = 'Mail sent from sendmail PHP script';
$message = 'Text content from sendmail code.';
// Sendmail in PHP using mail()
if (mail($to, $subject, $message,)) {
    echo 'Mail sent successfully.';
} else {
    echo 'Unable to send mail. Please try again.';
}
?>


то письмо 100% успешно приходит.

Но к сайту не могу прикрутить, как правильно реализовать???

Вот кусок модального окна:
.....

<!-- Modal -->
    <div class="modal fade" id="modal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true" method="post" action="">
        <div class="modal-dialog">
            <div class="modal-content">
                <!-- Modal Header -->
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">X</span></button>
                </div>
                <!-- Modal Body -->
                <div class="modal-body">
                    <div class="container-fluid">
                        <div class="row">
                            <div class="col-md-6">
                                <ul class="list-group">
                                    <li class="list-group-item">
                                        <input type="checkbox" id="item1" value="Данные 1">
                                        <label for="item1">Данные 1</label>
                                    </li>
                                    <li class="list-group-item">
                                        <input type="checkbox" id="item2" value="Данные 2">
                                        <label for="item2">Данные 3</label>
                                    </li>
                                </ul>
                            </div>
                            <div class="col-md-6">
                                <ul class="list-group">
                                    <li class="list-group-item">
                                        <input type="checkbox" id="item21" value="Данные 3">
                                        <label for="item21">Данные 3</label>
                                    </li>
                                    <li class="list-group-item">
                                        <input type="checkbox" id="item22" value="Данные 4">
                                        <label for="item22">Данные 4</label>
                                    </li>
                                </ul>
                            </div>
                        </div>
                    </div>
					
<!-- Modal Footer -->
                    <div class="modal-footer">
                        <div class="row">
                            <div class="col-md-8">
                                <p>ГОТОВО</p>
                            </div>
                            <div class="col-md-4">
                                <a href="#" class="btncreate" data-toggle="modal" data-target="#modal" value="submit_btn">КНОПКА</a>
                            </div>
                        </div>
                    </div>
.....


Страница сохранена как index.php

JS кусок кода, который проверяет чекбоксы и заносит в массив
$('#modal > div.modal-dialog > div > div.modal-body > div.modal-footer > div > div.col-md-4 > a').click(function() {

    let arr = [];
    let checkboxes = document.querySelectorAll("input[type='checkbox']:checked");

    checkboxes.forEach((item) => {
        arr.push(item.value)
    })
});


Пробовал реализовать по таким инструкциям, но к сожалению не получается.
https://phppot.com/php/sendmail-in-php-using-mail-... СПАСИБО
  • Вопрос задан
  • 63 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Код ничего не делает, чего вы от него ждете? Либо форму добавьте, либо какой-то код, отправляющий чекбоксы на бэкенд аяксом, например...
Ответ написан
Комментировать
pavlik_venik
@pavlik_venik
PHP фулстек средней руки
Если Вы через Ajax хотите отправлять, то пушить надо не в массив, а в объект. Лучший способ оформить нормально форму в соответствии с канонами и создать объект через:
var $that = $( this );
var data = new FormData( $that.get(0) );

А если напрямую, то у инпутов для начала атрибут name должен быть ( name="chekbox_name[]" ), причем у всех одинаковый и значение аттрибута с квадратными скобками указывая, что это массив. И кнопку соответствующую:
<button type="submit">КНОПКА</button>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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