X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> 2 письма в обратной связи на php
Info-Mans
Info-Mans
Topic Starter сообщение 9.7.2015, 0:02; Ответить: Info-Mans
Сообщение #1


Всем доброго дня.

Вообщем такая проблема: на странице 2 одинаковые формы обратной связи, которые ведут на скрипт отправки сообщения на почту. Но при заполнении одной любой формы, при отправке приходит 2 сообщения, одно с данными, а другое пустое.

Вот php код

$sendto = "test@mail.ru"; // почта, на которую будет приходить письмо
$username = $_POST['name']; // сохраняем в переменную данные полученные из поля c именем
$usertel = $_POST['phone']; // сохраняем в переменную данные полученные из поля c телефонным номером
$usermail = "test@mail.ru"; // сохраняем в переменную данные полученные из поля c адресом электронной почты

// Формирование заголовка письма
$subject = "Пилка SCHOLL VELVET SMOOTH";
$headers = "From: " . strip_tags($usermail) . "\r\n";
$headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";

// Формирование тела письма
$msg = "<html><body style='font-family:Arial,sans-serif;'>";
$msg .= "<p style='font-size:20px;'><strong>От кого:</strong> ".$username."</p>\r\n";
$msg .= "<p style='font-size:20px;'><strong>Номер телефона:</strong> ".$usertel."</p>\r\n";
$msg .= "</body></html>";

// отправка сообщения
if(@mail($sendto, $subject, $msg, $headers)) {
echo "<div class='mail'><p>Спасибо за проявленное доверие! <br> Время работы call-центра с 9-00 до 21-00 ПН-ВС. Если вы оставили заявку в нерабочее время менеджер свяжется с вами завтра. <br> Ожидайте нашего звонка!</p></div>";
} else {
echo "<div class='mail'><p>Письмо не отправлено! Повторите попытку заного! Или сообщите об ошибке по телефону</p></div>";
}

Подскажите в чем ошибка? Почему приходит 2 письма?
 

0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ixman
ixman
сообщение 9.7.2015, 11:00; Ответить: ixman
Сообщение #2


Info-Mans, а зачем две формы?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
miketomlin
miketomlin
сообщение 9.7.2015, 11:49; Ответить: miketomlin
Сообщение #3


(Info-Mans @ 9.7.2015, 02:02) *
на странице 2 одинаковые формы обратной связи
Возможно, каким-то образом активируются обработчики обеих форм. Еще иногда бывают случаи, когда в рамках одной формы одновременно активируются обычный обработчик и AJAX-обработчик, но это видимо не ваш случай, если конечно при отправке через AJAX у вас не происходит очистки полей формы.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Info-Mans
Info-Mans
Topic Starter сообщение 9.7.2015, 12:09; Ответить: Info-Mans
Сообщение #4


(Ixman @ 9.7.2015, 13:00) *
Info-Mans, а зачем две формы?

Это на однастраничнике) одна вверху другая внизу
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ixman
ixman
сообщение 9.7.2015, 12:30; Ответить: ixman
Сообщение #5


Info-Mans, в коде, который выше, нет ничего такого, чтобы отправляло два раза. Нужно смотреть саму реализацию отправки формы, всего скорее сбой происходит там.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Info-Mans
Info-Mans
Topic Starter сообщение 9.7.2015, 19:51; Ответить: Info-Mans
Сообщение #6


Вот такие 2 кода формы на странице

<div class="form">
<form action="mail.php" method="POST" class="order" id="formorder">
<div class="inp_block">
<input type="text" onfocus="if(this.value=='Введите Ваше Имя') this.value='';" onblur="if(this.value=='') this.value='Введите Ваше Имя';" value="Введите Ваше Имя" name="name" class="inp_text" id="nameorder">
</div>
<div class="inp_block">
<input type="text" onfocus="if(this.value=='Введите Ваш Телефон') this.value='';" onblur="if(this.value=='') this.value='Введите Ваш Телефон';" value="Введите Ваш Телефон" name="phone" class="inp_text" id="phoneorder">
</div>
<button class="send_order" id="sendorder" onclick="yaCounter31291843.reachGoal('sendorder'); return true;">Купить со СКИДКОЙ!</button>
</form>
</div>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ixman
ixman
сообщение 9.7.2015, 20:34; Ответить: ixman
Сообщение #7


Info-Mans, адрес страницы если можно, так только пальцем в небо тыкать. Можно в личку отправить, я уже посмотрю работу скрипта в живую
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Info-Mans
Info-Mans
Topic Starter сообщение 9.7.2015, 22:30; Ответить: Info-Mans
Сообщение #8


Ixman, Могу и сюда))) http://rs2-shop.ru/
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ixman
ixman
сообщение 10.7.2015, 14:02; Ответить: ixman
Сообщение #9


Info-Mans, ну тогда я буду вводить данные в форму, не нужно обращать на них внимание, в поле тел будут ноли, чтоб не спутать )
По заголовкам всё отлично работает, повтора данных не заметил.

Кстати сейчас по гуглил, и нашёл одной из причин может быть яндекс метрика, она загружает страницу повторно, всего скорее из-за этого идёт отправка пустого письма. Могу только предложить проверку на наличие POST данных. как-то так:

if (!empty($_POST)) {
$sendto = "test@mail.ru"; // почта, на которую будет приходить письмо
$username = $_POST['name']; // сохраняем в переменную данные полученные из поля c именем
$usertel = $_POST['phone']; // сохраняем в переменную данные полученные из поля c телефонным номером
$usermail = "test@mail.ru"; // сохраняем в переменную данные полученные из поля c адресом электронной почты

// Формирование заголовка письма
$subject = "Пилка SCHOLL VELVET SMOOTH";
$headers = "From: " . strip_tags($usermail) . "\r\n";
$headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";

// Формирование тела письма
$msg = "<html><body style='font-family:Arial,sans-serif;'>";
$msg .= "<p style='font-size:20px;'><strong>От кого:</strong> ".$username."</p>\r\n";
$msg .= "<p style='font-size:20px;'><strong>Номер телефона:</strong> ".$usertel."</p>\r\n";
$msg .= "</body></html>";

// отправка сообщения
if(@mail($sendto, $subject, $msg, $headers)) {
echo "<div class='mail'><p>Спасибо за проявленное доверие! <br> Время работы call-центра с 9-00 до 21-00 ПН-ВС. Если вы оставили заявку в нерабочее время менеджер свяжется с вами завтра. <br> Ожидайте нашего звонка!</p></div>";
} else {
echo "<div class='mail'><p>Письмо не отправлено! Повторите попытку заного! Или сообщите об ошибке по телефону</p></div>";
}
}
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Info-Mans
Info-Mans
Topic Starter сообщение 16.7.2015, 1:55; Ответить: Info-Mans
Сообщение #10


Ixman, спасибо помогло))) 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3398 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1242 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44907 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1889 26.5.2023, 20:48
автор: Mixatraider
Открытая тема (нет новых ответов) Опытный PHP\Python разработчик в поиске интересных задач
6 daikzlex 3402 25.5.2023, 13:55
автор: daikzlex


 



RSS Текстовая версия Сейчас: 19.4.2024, 15:37
Дизайн