Да дело то не в почте или скрипте, дело где-то на html странице, т.к. я вместо этой формы ставил рабочую и о чудо она тоже не работала...
Но как проблема может быть в html? Ставил без скриптов и css эту страницу и рабочую форму, не отправляло! |
Цитата:
До отправки почты лень написать if($_POST) exit(print_r($_POST, 1)); чтобы удостоверится что север получает данные? Хотите получить помощь, значит проверять а не гадать. |
Дак всмысле гадать? Если html форма, в которой указан метод пост и ссылка на обработчик, аналогично не работает, тут стоит грешить тогда на обработчик, я его проверил на голой форме и он работает, тогда в чём косяк? В форме? Я вставил голую форму за место той и она тоже не работала, отключив js и стили она аналогично не работала, остаётся 2 проблемы это хостинг(Но работает он исправно) и html.
Я не гадаю на кофейной гуще, я перепробовал все варианты, и они не работают |
Вот это другое дело, работает ваш код по http://search-apteki.ru/1.php. То есть все Ок. Остается посмотреть внимательно на код формы моего примера и на свой. В моем у полей есть имена, ID не нужны. Поля сериализует метод jQ, а если у поля формы нет имени, то на сервер оно отправляться не будет. Приведите в порядок код своей формы, выкинув из нее то, о чем говорилось и все будет работать.
|
На реальной странице, два раза подключается jQuery - исправить. Либо со своего сайта, либо с Гугла.
|
Да, и оператор ваш по указанному мной номеру телефона "а" связаться вряд ли сможет.
|
<form method="POST" action="http://search-apteki.ru/sendmail/index.php"> <div class="form-group"> <input class="form-control" required placeholder="Ваше имя" value="" name="req_name" type="text"> </div> <div class="form-group"> <input class="form-control" placeholder="Интересующий препарат" name="req_drug" value="" type="text"> </div> <div class="form-group"> <input class="form-control" required placeholder="Телефон" name="req_phone" value="" type="text"> </div> <div class="form-group"> <input class="form-control" placeholder="Комментарий" name="req_comment" value="" type="text"> </div> <div class="clearfix"></div> <button type="submit" class="btn btn-request btn-block">Отправить</button> </form> На файл перенаправляет, выводит что сообщение отправлено, но оно не отправляется.... Хотя ещё пол часа назад отправлялось |
Ещё один пример, попробуй отправит данные, увидишь что получил php скрипт http://search-apteki.ru/1.php
|
Мне что еще раз код написать или достаточно для понимания?
Я разве это придумал в вашем коде на сервере? $name = $_POST['name']; $drug = $_POST['drug']; $phone = $_POST['phone']; ...... Нет. Это я согласно этого в своем коде формы именовал так поля ее: name, drug, .... А у вас что за хрень такая name="req_name" и т.д.? Как может север получить в массиве полученном по ключу name, если в нем такого нет? Естественно $name = $_POST['name'] будети равно NULL. Вы же на сервере ничего не проверяете (и на клиенте тоже), не важно что там пришло, пустое ли поле или нет, сразу воткнули в почтовое сообщение и отправили. |
Сделал форму как сказанно выше, вернул отправку на js, выходит опять так, форма отправляет, js перехватывает и уходит на php, он отправляет всё на почту, но переменные пустые, вывод, косяк в js
var submitRequestForm = function() { $('#bronModal').modal('hide'); $('#thxModal').modal('show'); var json = JSON.stringify({ name: $("#req_name").val(), drug: $("#req_drug").val(), phone: $("#req_phone").val(), comment: $("#req_comment").val() }); $.ajax({ type: 'post', url: 'http://search-apteki.ru/sendmail/index.php', //домен не обязателен, если только не запрос на другой data: $(this).serialize(), success: function(d) { //Обработка ответа сервера, ответ хранится в d } }) } |
Часовой пояс GMT +3, время: 20:45. |