Помощник
|
Отправка данных на e-mail из 2-х полей, Как реализовать такую функцию? |
Linkoln
|
Сообщение
#1
|
||
|
|
||
|
|||
KurtRassel |
6.5.2016, 11:34;
Ответить: KurtRassel
Сообщение
#2
|
|
Linkoln, привет, держи.
mail.php Код <?php header('Content-Type: text/html; charset=utf-8'); if ($_POST['phone'] && $_POST['name']) { $mail = "myEmail@gmail.com"; // Принимающий email $title = "У Вас новое сообщение от " + $_POST['name']; $text = "Позвоните на номер " . $_POST['phone']; if (mail($mail, $title, $text, "Content-Type: text/plain;charset=utf-8\r\nFrom: ". $_POST['name'] ." <New". $_POST['name'] ."@gmail.com>\r\n")) { echo "<div>Сообщение отправлено!</div>"; } else { echo "<div>Ошибка, ваше сообщение не отправлено!</div>"; } } Добавить на страницу: Код <div id="status"></div>
<label>Имя: <input type="text" id="name"> </label> <label>Телефон: <input type="text" id="phone"> </label> <a href="#" id="send">Отправить</a> <script> var send = document.getElementById('send'); send.addEventListener('click', function() { var name = document.getElementById('name'); var phone = document.getElementById('phone'); if (name.value == '' || phone.value == '') { return false; } var status = document.getElementById('status'); var xhr = new XMLHttpRequest(); xhr.open('POST', '/mail.php', true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { status.innerHTML = xhr.responseText; } else { status.innerHTML = 'Ошибка сервера!'; } } xhr.send('name=' + name + '&phone=' + phone); }); </script> |
|
|
WoWeb |
6.5.2016, 11:56;
Ответить: WoWeb
Сообщение
#3
|
|
Linkoln,
Вот отличная форма, чекбокс я не робот, при отправке всплывает окно с благодарностью, можно во всплывающем окне сделать а можно и статично, но нужно ковырять CSS _http://lebonnet.ru/ajax-forma-obratnoj-svyazi-php-jquery/comment-page_2-mt.html P.S. Если сайт грузится и просто белое окно - отключите яваскрипт в браузере, у них какая то бага. Сообщение отредактировал WoWeb - 6.5.2016, 11:57 -------------------- |
|
|
KurtRassel |
6.5.2016, 12:15;
Ответить: KurtRassel
Сообщение
#4
|
|
Немного ошибся, вместо:
Код else { status.innerHTML = 'Ошибка сервера!'; } вставить: Код else if (xhr.readyState == 4 && xhr.status != 200) {
status.innerHTML = 'Ошибка сервера!'; } |
|
|
Linkoln
|
Сообщение
#5
|
|
Благодарю за ответы. Вечером протестирую.
Больше подходит форма KurtRassel, так как более простая как для меня, так и для пользователя. Надеюсь будет работать. Ни один вариант не работает. Движок DLE |
|
|
KurtRassel |
6.5.2016, 21:30;
Ответить: KurtRassel
Сообщение
#6
|
|
Форма:
Код <div id="status"></div> <label>Имя: <input type="text" id="name"> </label> <label>Телефон: <input type="text" id="phone"> </label> <a href="#" id="send" onclick="return false;">Отправить</a> Код: Код <script> var send = document.getElementById('send'); send.addEventListener('click', function() { var name = document.getElementById('name'); var phone = document.getElementById('phone'); if (name.value == '' || phone.value == '') { return false; } var status = document.getElementById('status'); var xhr = new XMLHttpRequest(); xhr.open('POST', '/mail.php', true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { status.innerHTML = xhr.responseText; } else if (xhr.readyState == 4 && xhr.status != 200) { status.innerHTML = 'Ошибка сервера!'; } } xhr.send('name=' + name + '&phone=' + phone); }); </script> mail.php должен быть в корне или если не в корне, то пропишите в скрипте путь. Чтобы протестировать, создайте mail.php добавьте в корень сайта и зайдите на него domain.com/mail.php, если увидите сообщение, тогда добавьте полный скрипт скрипт. Код <?php echo "Работает"; Полный: Код <?php
header('Content-Type: text/html; charset=utf-8'); if ($_POST['phone'] && $_POST['name']) { $mail = "myEmail@gmail.com"; // Принимающий email $title = "У Вас новое сообщение от " + $_POST['name']; $text = "Позвоните на номер " . $_POST['phone']; if (mail($mail, $title, $text, "Content-Type: text/plain;charset=utf-8\r\nFrom: ". $_POST['name'] ." <New". $_POST['name'] ."@gmail.com>\r\n")) { echo "<div>Сообщение отправлено!</div>"; } else { echo "<div>Ошибка, ваше сообщение не отправлено!</div>"; } } |
|
|
Linkoln
|
Сообщение
#7
|
|
|
KurtRassel, сообщение выдает, но после замены кода не работает.
Каким-то чудом решил проблему. Кому интересно, использовал эту форму - http://smartlanding.biz/otpravka-formy-bez...i-stranicy.html
Сообщение отредактировал Linkoln - 7.5.2016, 12:59 |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Интеграция спортивных данных API. Коэффициенты БК, Live результаты | 15 | yaroslav89 | 6871 | 8.4.2024, 17:17 автор: spoyer_ru |
|
ГОРЯЧИЕ FOREX|CRYPTO ЛИДЫ. БАЗЫ ДАННЫХ [Чарджбек|Рекавери|Возврат] |
9 | Leado | 3915 | 9.2.2024, 16:04 автор: baza0013 |
|
Быстрый валидатор email Gmail|Yandex|Mail.ru|Rambler|Yahoo|Hotmail|Live|Msn+ -=GoodMail=- на запросах Zennoposter шустрый многопоточный валидатор почт на запросах |
0 | akcium | 2012 | 19.11.2022, 13:17 автор: akcium |
|
Базы данных, различной тематики, выкладываем тут. Делимся, обмениваемся, заказываем, парсим. |
12 | InfoObmen | 15262 | 4.9.2022, 2:32 автор: Галецкая |
|
Базы сайтов разных тематик для звонков и E-mail рассылок (Россия) | 0 | maxmer | 2069 | 8.7.2022, 11:05 автор: maxmer |
Текстовая версия | Сейчас: 25.4.2024, 12:42 |