@mUchenik

Как донастроить mail.php?

Всем привет!
Сверстал страницу html, в ней есть разделы и блоки внутри раздела, так же есть
В данный момент, подтягиваются интупы и название кнопки.

Подскажите пожалуйста, возможно ли как донастроить php.mail так, что бы подтянуть название раздела общего и название конкретного блока с которого отправлена форма (название блока это h2 с классом).

Собственно сам mail.php который я использую ( не уверен, что на сегодняшний день это решение хорошее, но других под текущую задачу, пока не знаю):
$frm_name  = "adress@domen.ru"; // С какой почты отпавляю
$recepient = "adress@domen.ru"; // На какую почту приходит
$sitename  = "site.ru"; // название сайта
$subject   = "Новая заявка с сайта \"$sitename\""; //Заголовок письма

$name = trim($_POST["name"]); // ФИО того кто заполнил форму, попадает в письмо
$calendar = trim($_POST["calendar"]); // моя попытка добавить заголовок раздела (указал класс h2) не работает
$phone = trim($_POST["customer_phone"]); // Номер телефона, который ввел пользователь, попадает в письмо
$formname = trim($_POST["formname"]); // Название кнопки которая попадает в письмо
$mail = trim($_POST["email"]); // почта указанная пользователем

$message = "
Название блока формы: $calendar <br>
Форма: $formname <br> 
Имя: $name <br>
Телефон: $phone<br>
E-mail: $mail
";

mail($recepient, $subject, $message, "From: $frm_name <$email>" . "\r\n" . "Reply-To: $email" . "\r\n" . "X-Mailer: PHP/" . phpversion() . "\r\n" . "Content-type: text/html; charset=\"utf-8\"");

JS обработчик :

$(".btn").click(function() {
    $("#callback h4").html($(this).text());
    $("#callback input[name=formname]").val($(this).text());
}).magnificPopup({
    type:"inline",
    mainClass: 'mfp-forms'
});


<div class="col-md-8 col-md-offset-2 text-center gtco-heading ">
	<h2 class="calendar">Этот текст хочу отобразить в письме</h2>
	<p></p>
</div>

<div class="rotate-block">
                    <div class="change-img">
                        <div class="front-side-img"><img src="images/123.jpg" alt=""></div>
                        <div class="back-side-img">
                            <div class="back-side__info">
                                <h3 class="back-side__title">
                                    Этот текст хочу отобразить в письме
                                </h3>
                                <span class="back-side__aderss">
                                    Этот текст хочу отобразить в письме
                                </span>

                                <span class="back-side__data">
                                    Этот текст хочу отобразить в письме
                                </span>
                                <span class="back-side__prise">
                                    Этот текст хочу отобразить в письме
                                </span>
                                <p><a href="#callback" class="btn btn-primary btn-outline btn-merop">Заявка на
                                        участие</a>
                                </p>
                            </div>
                    </div>
          </div>
 </div>

Вопрос: Возможно ли реализовать задумку, и если да то буду признателен за ваши советы.
Ну и на последок, стоит ли на сегодняшний день использовать именно такой mail.php?
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
Rst0
@Rst0
magnificPopup поднимает окно с формой, в которой
нужно добавить скрытые поля в зависимости от страницы
в PHP
<input type="hidden" name="back-side__input" id="back-side__input"  value="<?php echo 'Этот текст хочу отобразить в письме'; ?>">


или в JS копировать в value скрытых полей, то что хотите передать в $_POST
document.querySelector('#back-side__input').value 
= document.querySelector('#back-side__title').innerText.trim();

тогда
$some_text = trim($_POST["back-side__input"]); // Этот текст хочу отобразить в письме

$message = "
Название блока формы: $calendar <br>
Форма: $formname <br> 
Имя: $name <br>
Телефон: $phone<br>
E-mail: $mail
Текст: " . $some_text;

Использование скрытого поля формы для передачи ...

насчет реализации - trim($_POST["~"]) мало для обработки полей, нужна валидация, того, что приходит желательно на клиенте и на сервере
Валидация форм на стороне клиента

валидация форм на стороне сервера php
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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