Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 56

Отправка с разных форм разных писем

24.03.2019, 21:04. Показов 1371. Ответов 7
Метки ajax, php (Все метки)

Студворк — интернет-сервис помощи студентам
Имею такую отправку на JS:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
$(function() {
 
    $("input,textarea").jqBootstrapValidation({
        preventSubmit: true,
        submitError: function($form, event, errors) {
            // additional error messages or events
        },
        submitSuccess: function($form, event) {
            event.preventDefault(); // prevent default submit behaviour
            // get values from FORM
            var name = $('input[name="name"]').val();
            var email = $('input[name="email"]').val();
            var phone = $('input[name="phone"]').val(); 
            var coment = $('select[name="coment"]').val();
            var day = $('input[name="day"]').val();
            var message = $('textarea[name="message"]').val(); 
            var name2 = $('input[name="name2"]').val();
            var phone2 = $('input[name="phone2"]').val(); 
            var message2 = $('textarea[name="message2"]').val();
            var firstName = name; 
            if (firstName.indexOf(' ') >= 0) {
                firstName = name.split(' ').slice(0, -1).join(' ');
            } 
            $.ajax({  
                url: "././mail/contact_me.php", 
                type: "POST",
                data: {
                    name: name,
                    name2: name2,
                    email: email,
                    phone: phone,
                    phone2: phone2,
                    coment: coment,
                    day: day,
                    message: message, 
                    message2: message2
                },
                cache: false,
                success: function() {
                    // Success message
                    $('.success').html("<div class='alert alert-success'>");.......
и PHP:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$coment = $_POST['coment'];
$day = $_POST['day'];
$message = $_POST['message'];
    
// Create the email and send the message
$to = 'mail1@mail.ru'; // Add your email address inbetween the '' replacing yourname@yourdomain.com - This is where the form will send a message to.
$email_subject = "Запрос с сайта:  $name";
$email_body = "Вы получили новое сообщение с сайта.\n\n"."Информация:\n\nИмя: $name\n\nEmail: $email\n\nТелефон: $phone\n\nУслуга: $coment\n\nДата: $day\n\nКомментарий:\n$message";
$headers = "From: info@prembeauty.com\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
mail($to,$email_subject,$email_body,$headers);
$name2 = $_POST['name2'];
$phone2 = $_POST['phone2'];
$message2 = $_POST['message2']; 
// Create the email and send the message
$to2 = 'mail2@mail.ru'; // Add your email address inbetween the '' replacing yourname@yourdomain.com - This is where the form will send a message to.
$email_subject2 = "Вакансия с сайта:  $name2";
$email_body2 = "Вы получили заявку на вакансию с сайта.\n\n"."Информация:\n\nИмя: $name2\n\nТелефон: $phone2\n\nКомментарий: $message2";
$headers2 = "From: info@prembeauty.com\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
mail($to2,$email_subject2,$email_body2,$headers2); 
return true;    
?>
Все работает, но при отправке из одной формы, на email приходят данные с двух форм. Где и как сделать проверку, чтобы приходили данные только с той формы, в которую вводили значения?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.03.2019, 21:04
Ответы с готовыми решениями:

Отправка писем на 2 разных адресса - PHP
Настроил отправку данных формы на мыло. Есть .order_form с полем &quot;email&quot;(и пр.). Как при нажатии submit'a реализовать отправку...

Циклы обработки сообщений разных форм в разных потоках
Здравствуйте! Подскажите как реализовать циклы обработки сообщений разных форм в разных потоках. У коде одной формы сделал так: ...

О распространённости разных MIME-типов писем
Я сейчас добавляю в своё серверное приложение возможность принять письмо по POP3 и обработать его. Обработка состоит в максимально...

7
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
24.03.2019, 21:15
html тоже покажите
0
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 56
24.03.2019, 22:01  [ТС]
Цитата Сообщение от sash23 Посмотреть сообщение
html тоже покажите
Две формы:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<div class="modal fade ModalSend" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title text-warning text-center" id="myModalLabel">Запишитесь к нам на прием онлайн!</h4>
          </div>
            <div class="modal-body">  
                <form name="sentMessage" class="contactForm" novalidate>
                    <div class="col-lg-6 col-lg-offset-3 col-xs-12">
                        <div class="form-group">
                            <input name="name" class="form-control" placeholder="Ваше имя *" required data-validation-required-message="Пожалуйста,введите ваше имя">
                            <p class="help-block text-danger"></p>
                        </div>
                        <div class="form-group">
                            <input name="email" class="form-control" placeholder="Ваш email">
                            <p class="help-block text-danger"></p>
                        </div> 
                        <div class="form-group">
                            <input name="phone" class="form-control phone-mask" placeholder="Ваш телефон *" required data-validation-required-message="Пожалуйста,введите ваш номер телефона">
                            <p class="help-block text-danger"></p> 
                        </div> 
                            <span class="text-muted">Желаемая услуга:</span>
                            <div class="form-group">
                                <select name="coment" class="form-control"  >
                                  <option>Парикмахерские услуги</option>
                                  <option>Маникюр</option>
                                  <option>Педикюр</option>
                                  <option>Косметология</option>
                                </select>
                            </div>
                        <div class="form-group">
                            <div class="input-group date datetimepicker">
                                <input name="day" class="form-control" placeholder="Выберите дату и время">
                                <span class="input-group-addon">
                                    <span class="glyphicon glyphicon-calendar"></span>
                                </span> 
                            </div>
                            <p class="help-block text-danger"></p>
                        </div>
                        <div class="form-group">
                            <textarea name="message" class="form-control" placeholder="Комментарий"></textarea>
                            <p class="help-block text-danger"></p>
                        </div> 
                    </div> 
                    <div class="clearfix"></div>
                    <div class="success"></div> 
                    <div class="text-center">
                    <button type="submit" class="btn btn-warning text-center">Отправить</button>
                    </div>
                </form>
            </div>
        </div>
      </div>
    </div>
    <div class="modal fade ModalSend2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header"> 
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title text-warning text-center" id="myModalLabel">Оставьте заявку на вакансию</h4>
          </div>
            <div class="modal-body"> 
                <form name="sentMessage" class="contactForm" novalidate>
                    <div class="col-lg-6 col-lg-offset-3 col-xs-12">
                        <div class="form-group">
                            <input name="name2" class="form-control" placeholder="Ваше имя *" required data-validation-required-message="Пожалуйста,введите ваше имя">
                            <p class="help-block text-danger"></p>
                        </div> 
                        <div class="form-group">
                            <input name="phone2" class="form-control phone-mask" placeholder="Ваш телефон *" required data-validation-required-message="Пожалуйста,введите ваш номер телефона">
                            <p class="help-block text-danger"></p>
                        </div>
                        <div class="form-group">
                            <textarea name="message2" class="form-control" placeholder="Расскажите о себе подробнее"></textarea>
                            <p class="help-block text-danger"></p>
                        </div>  
                    </div>
                    <div class="clearfix"></div> 
                    <div class="success"></div> 
                    <div class="text-center">
                    <button type="submit" class="btn btn-warning text-center">Отправить</button>
                    </div>
                </form>
            </div>
        </div>
      </div>
    </div>
0
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
24.03.2019, 22:33
submitSuccess: function($form, event) атрибут $form это и есть текущая форма. соответственно можно определить какая форма отправляется и при отправке данных можно добавить какой-нибудь идентификатор формы. а на стороне пхп по этому идентификатору определять что отправлять.
0
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 56
24.03.2019, 22:39  [ТС]
Цитата Сообщение от sash23 Посмотреть сообщение
submitSuccess: function($form, event) атрибут $form это и есть текущая форма. соответственно можно определить какая форма отправляется и при отправке данных можно добавить какой-нибудь идентификатор формы. а на стороне пхп по этому идентификатору определять что отправлять.
Формы имеют разный класс. Только как передать этот класс в ajax и потом определить его в php?
0
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
24.03.2019, 23:17
можно добавить формам атрибут data-form. Например для первой формы data-form="reception" для второй data-form="vacancy".
Далее в submitSuccess там где ajax
data: {
//добавляем еще один параметр
form: $form.data('form')
}

и теперь в пхп должен быть параметр $_POST['form'] который может быть либо reception либо vacancy
1
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
24.03.2019, 23:30
Лучший ответ Сообщение было отмечено Тимуркин85 как решение

Решение

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$(function () {
    $("input,textarea").jqBootstrapValidation({
        preventSubmit: true,
        submitError: function ($form, event, errors) {
            // additional error messages or events
        },
        submitSuccess: function ($form, event) {
            event.preventDefault(); // prevent default submit behaviour
            // get values from FORM
 
            $.ajax({
                url: "././mail/contact_me.php",
                type: "POST",
                data: $form.serialize(),
                cache: false,
                success: function () {
                    // Success message
                    $('.success').html("<div class='alert alert-success'>");
                }
            })
        }
    })
})
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if (isset($_POST['name'])) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $coment = $_POST['coment'];
    $day = $_POST['day'];
    $message = $_POST['message'];
    
    $email_subject = "Запрос с сайта:  $name";
    $email_body = "Вы получили новое сообщение с сайта.\n\n" . "Информация:\n\nИмя: $name\n\nEmail: $email\n\nТелефон: $phone\n\nУслуга: $coment\n\nДата: $day\n\nКомментарий:\n$message";
} else {
    $name = $_POST['name2'];
    $phone = $_POST['phone2'];
    $message = $_POST['message2'];
    
    $email_subject = "Вакансия с сайта:  $name";
    $email_body = "Вы получили заявку на вакансию с сайта.\n\n" . "Информация:\n\nИмя: $name\n\nТелефон: $phone\n\nКомментарий: $message";
}
 
$to = 'mail2@mail.ru';
$headers = "From: info@prembeauty.com\n"; // This is the email address the generated message will be from. We recommend using something like noreply@yourdomain.com.
 
mail($to, $email_subject, $email_body, $headers);
 
return true;
1
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 56
24.03.2019, 23:47  [ТС]
Большое спасибо за такой развернутый и разжеванный ответ!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2019, 23:47
Помогаю со студенческими работами здесь

С#, Работа с БД из разных форм
Мой вопрос состоит в следующем, у меня есть несколько форм, и мне надо из каждой из них выполнять запросы к БД. Как лучше подключаться к БД...

Значения из разных форм
Доброго времени суток. Возник вопрос: в Form2 например я ввожу значения в столбцы градусов, минут, секунд. void __fastcall...

Подключение к БД из разных форм
Мой вопрос состоит в следующем, у меня есть несколько форм, и мне надо из каждой из них выполнять запросы к БД. Как лучше подключаться к БД...

Зависимость полей разных форм!
Доброго времени суток,господа профессионалы! Снова нужна Ваша помощь/подсказка. 1. Есть форма &quot;ЗапросДляДП1&quot; .В ней есть...

Сетевое открытие разных форм
Доброго времени суток! Подскажите, можно ли реализовать чтобы при открытии БД у каждого пользователя открывалась определенная форма. Дело...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru