Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не отправляется или не получает (https://javascript.ru/forum/misc/69513-ne-otpravlyaetsya-ili-ne-poluchaet.html)

gko11 29.06.2017 14:40

Не отправляется или не получает
 
Есть обработчик формы

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(),
site: 'Poisk apteki'
});
var url = "http://search-apteki.ru/sendmail/index.php";
$.post(url,
json,
function(resp) {
console.log(resp);
}
);

$.post("http://search-apteki.ru/sendmail/index.php",
JSON.stringify({
name: $("#req_name").val(),
phone: $("#req_phone").val(),
comment: $("#req_drug").val() + ", " + $("#req_comment").val(),
}),
function(resp) {
}
);
}

И есть обработчик отправленных данных
PHP:
<?php
if(isset($_POST['name']))
{
$name = $_POST['name'];
$name = htmlspecialchars($name);
$name = urldecode($name);
$name = trim($name);
$drug = $_POST['drug'];
$drug = htmlspecialchars($drug);
$drug = urldecode($drug);
$drug = trim($drug);
$phone = $_POST['phone'];
$phone = htmlspecialchars($phone);
$phone = urldecode($phone);
$phone = trim($phone);
$comment = $_POST['comment'];
$comment = htmlspecialchars($comment);
$comment = urldecode($comment);
if (mail("123123123@ya.ru", "Заявка с сайта", "Имя:".$name." E-mail: ".$drug." Телефон:".$phone." Сообщение:".$comment."",$drug))
{ echo "сообщение успешно отправлено";
//header('Refresh:3; URL=https://123123123/contacts.php');

} else {
echo "при отправке сообщения возникли ошибки";
}
} else header("Location: /");?>
В итоге данная система в паре не работает, а обработчик на php пашет, в чём косяк?

ksa 29.06.2017 14:54

Цитата:

Сообщение от gko11
в чём косяк?

Так потестируй свое творение. :D
Проверь доходит ли дело до самой отправки... Получил ли чего сервер... Сам ему пошли все, что нужно - посмотри чего он там ответил...

Отправитель и получатель в одном домене?

gko11 29.06.2017 15:00

В том-то и дело что всё работает, кроме одного, $.post не отправляет данные на файл обработчик, который работает

ksa 29.06.2017 15:45

Цитата:

Сообщение от gko11
всё работает, кроме одного, $.post не отправляет данные на файл обработчик

Как ты это проверял? Есть ли ошибки в консоли?

gko11 29.06.2017 15:55

Ну так сказать функция mail выполняется, т.е. js запрашивает php проверку..
Но вот не задача, поля приходят пустыми.... Т.е. по сути он отправляет данные, но пустые

ksa 29.06.2017 16:02

Цитата:

Сообщение от gko11
он отправляет данные, но пустые

Так посмотри чего в итоге ты там наформировал... Не вали все на "него". :)
Цитата:

Сообщение от gko11
поля приходят пустыми

Если "получатель" получает "управление" значит $.post срабатывает. Проверяй чего ты ему суешь на отправку...

gko11 29.06.2017 16:04

На отправку даю форму
<form action="javascript: submitRequestForm();">
                        <div class="form-group">
                        <input class="form-control" required placeholder="Ваше имя" value="" id="req_name" type="text">
                        </div>
                        <div class="form-group">
                        <input class="form-control" placeholder="Интересующий препарат" id="req_drug" value="" type="text">
                        </div>
                        <div class="form-group">
                        <input class="form-control" required placeholder="Телефон" id="req_phone" value="" type="text">
                        </div>
                        <div class="form-group">
                        <input class="form-control" placeholder="Комментарий" id="req_comment" value="" type="text">
                        </div>
                        <div class="clearfix"></div>
                        <button type="submit" class="btn btn-request btn-block">Отправить</button>
                    </form>


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()
    });
    var url = "http://search-apteki.ru/sendmail/index.php";
    $.post(url,
        json,
        function(resp) {
            console.log(resp);
        }
    );
}

gko11 29.06.2017 16:05

И если я отправлял отдельно текст name: "123"
Тоже приходит пустым

ruslan_mart 29.06.2017 16:06

gko11, а зачем JSON.stringify? Напрямую объект нужно вроде как.

gko11 29.06.2017 16:09

Напрямую тоже пробовал, не выходит

laimas 29.06.2017 16:45

gko11,
если клиент отправляет JSON, то на сервере не будет $_POST['name'] и прочего.

$name = htmlspecialchars($name);
$name = urldecode($name);

и далее подобное, это никчемное и не нужное.

gko11 29.06.2017 17:00

if(isset($_POST['name']))
{
В начале обработчика стоит проверка,
Тут косяк в js либо в форме

gko11 29.06.2017 17:00

var url = "http://search-apteki.ru/sendmail/index.php";
$.post(url,
{
name: $("#req_name").val(),
drug: $("#req_drug").val(),
phone: $("#req_phone").val(),
comment: $("#req_comment").val()
},
function(resp) {
console.log(resp);
}
);

laimas 29.06.2017 17:08

gko11, северу данные как JSON.stringify(object) переданы не будут, не отправит JQ такое. Можно так отправить 'key=' + JSON.stringify(object).

В этом случае на сервере будет получен массив под ключом key которого будет JSON, и нужно получить данные из него сначала - json_decode.

Отправляйте просто объект как уже было сказано. А вот htmlspecialchars и urldecode выкинуть, это чушь. Первое не нужно потому, что отправление как текст, а второе потому, что urldecode будет выполнено уже.

gko11 29.06.2017 17:11

Если можно код представить, я js пока только изучаю)

gko11 29.06.2017 17:17

var url = "http://search-apteki.ru/sendmail/index.php";
$.post(url,
{
name: "123123",
drug: "123123",
phone: "123123",
comment: "123123"
},
function(resp) {
console.log(resp);
}
);
Пробовал делать так, но так же $_POST пустые

laimas 29.06.2017 17:17

Цитата:

Сообщение от gko11
Если можно код представить

$.ajax({
        type: 'post',
        url: '/sendmail/index.php', //домен не обязателен, если только не запрос на другой
        data: {
            name: $("#req_name").val(),
            drug: $("#req_drug").val(),
            phone: $("#req_phone").val(),
            comment: $("#req_comment").val()
        },
        success: function(d) {
            //Обработка ответа сервера, ответ хранится в d
        }
    })

gko11 29.06.2017 17:21

Спасибо, но не работает, мне кажется косяк в самой форме, т.к. пытался на прямую с формы отправить на обработчик, а толку 0, так жы пустые значения

laimas 29.06.2017 17:21

gko11,
Добавьте полям формы имена name, drug, phone, comment соответственно, запрос отправляйте по событию submit формы, тогда data: можно записать проще:

data: $(this).serialize()

laimas 29.06.2017 17:32

Цитата:

Сообщение от gko11
мне кажется косяк в самой форме

У вас куча косяков. Локальный сервер для отладки скриптов есть? Сохраните в нем это файл как .php под любым именем и запустите.

<?
if($_POST) {
    exit(print_r($_POST, 1)); //отправим клиенту что получили
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style>

</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$(function() {
    $('#send').submit(function(e) {
        e.preventDefault();
        $.ajax({
            type: 'post',
            url: location, //заменить в реальном коде на действительный URL
            data: $(this).serialize(),
            success: function(d) {
                //Обработка ответа сервера, ответ хранится в d
                alert(d)
            }
        })
    });
});
</script>
</head>
<body>
<form id="send">
                        <div class="form-group">
                        <input class="form-control" required placeholder="Ваше имя" value="Пример" name="name" type="text">
                        </div>
                        <div class="form-group">
                        <input class="form-control" placeholder="Интересующий препарат" name="drug" value="Пример" type="text">
                        </div>
                        <div class="form-group">
                        <input class="form-control" required placeholder="Телефон" name="phone" value="Пример" type="text">
                        </div>
                        <div class="form-group">
                        <textarea class="form-control" placeholder="Комментарий" name="comment">Пример</textarea>
                        </div>
                        <div class="clearfix"></div>
                        <button type="submit" class="btn btn-request btn-block">Отправить</button>
                    </form>
</body>
</html>


Клиент в ответ получит массив, который он отправил серверу. Заменив в url текущий (location) на свой реальный, код будет отправлять и на реальный адрес. Поле INPUT для комментария неудобно.

gko11 29.06.2017 17:37

Увы, этот метот ещё раз попробовал, не работает

laimas 29.06.2017 17:40

Цитата:

Сообщение от gko11
Увы, этот метот ещё раз попробовал

Такого быть не должно. Если не работает, значит у вас бардак полный. Где проверяется?

gko11 29.06.2017 17:42

Если просто вставить скрипт, то он пашет исправно, если подключить мой обработчик никакой реакции

gko11 29.06.2017 17:46

Цитата:

Сообщение от laimas (Сообщение 456911)
У вас куча косяков. Локальный сервер для отладки скриптов есть? Сохраните в нем это файл как .php под любым именем и запустите.

<?
if($_POST) {
    exit(print_r($_POST, 1)); //отправим клиенту что получили
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style>

</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$(function() {
    $('#send').submit(function(e) {
        e.preventDefault();
        $.ajax({
            type: 'post',
            url: location, //заменить в реальном коде на действительный URL
            data: $(this).serialize(),
            success: function(d) {
                //Обработка ответа сервера, ответ хранится в d
                alert(d)
            }
        })
    });
});
</script>
</head>
<body>
<form id="send">
                        <div class="form-group">
                        <input class="form-control" required placeholder="Ваше имя" value="Пример" name="name" type="text">
                        </div>
                        <div class="form-group">
                        <input class="form-control" placeholder="Интересующий препарат" name="drug" value="Пример" type="text">
                        </div>
                        <div class="form-group">
                        <input class="form-control" required placeholder="Телефон" name="phone" value="Пример" type="text">
                        </div>
                        <div class="form-group">
                        <textarea class="form-control" placeholder="Комментарий" name="comment">Пример</textarea>
                        </div>
                        <div class="clearfix"></div>
                        <button type="submit" class="btn btn-request btn-block">Отправить</button>
                    </form>
</body>
</html>


Клиент в ответ получит массив, который он отправил серверу. Заменив в url текущий (location) на свой реальный, код будет отправлять и на реальный адрес. Поле INPUT для комментария неудобно.

http://search-apteki.ru/1.php

laimas 29.06.2017 18:00

url: "/sendmail/index.php", - строковые выражения нужно заключать в кавычки.

И не цитируйте полностью то, что я пишу.

gko11 29.06.2017 18:01

Покопавшись в коде, понял что косяк где-то в главной странице, а где не пойму
<!DOCTYPE html><html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Единая справочная служба по всем аптекам Москвы, подробная информация о наличии лекарств, удобный поиск по районам и подбору низких цен. Подробная информация о времени работы и контактные телефоны аптек.">
<meta name="keywords" content="аптеки Москвы, справочная аптек Москвы, поиск лекарств, наличие лекарств в аптеках Москвы">
<title>Справочная аптек — поиск лекарств в аптеках, наличие и цены</title>
<link rel="shortcut icon" href="static/favicon.ico" type="image/x-icon">
</head>
<body>
<nav class="navbar navbar-default row">
<div class="col-xl-offset-3 col-xl-6 col-lg-offset-1 col-lg-10 col-md-offset-1 col-md-10 col-sm-offset-0 col-sm-12 nav-container">
<div style="width: 100%; white-space: nowrap;">
<a class="navbar-brand" href="index.html">
<img alt="поиск препаратов аптеки РФ" src="static/logo_drug.png">
<div class="navbar-brand__descriptions">
<span class="navbar-brand__desc1">ПОИСК-АПТЕКИ.RU<br></span>
<span class="navbar-brand__desc2">Единый справочник препаратов России<br>по выгодным ценам</span>
</div>
</a>
<div class="head-right">
<div class="head-description">
<a class="head-description__link" href="index.html#bronModal" onclick="$('#bronModal').modal('show')">Перезвоните мне</a>
</div>
</div>
</div>
</div>
</nav>

<div class="row">
<div class="col-xl-offset-3 col-xl-6 col-lg-offset-1 col-lg-10 col-md-offset-1 col-md-10 col-sm-offset-0 col-sm-12">
<!-- <h1>Поиск лекарств в аптеках</h1> -->
</br></br><div id="search" class="two">
<div class="search"><form id="search_form" action="javascript: submitForm();">
<div class="input-group">
<input class="form-control" placeholder="Ведите название лекарства для того что бы начать поиск" id="search_form_input" value="" type="text" />
<span class="input-group-btn"><button class="fa fa-search" type="submit"><img src="static/img/search_small.png" alt="Поиск"></button></span>
</div>
</form>
</div>
</div>

<div class="content one">
<!-- Search -->
<div style="margin-top: 30px;margin-left:-40px;">
<blockquote>Для того, что бы найти необходимый Вам препарат введите его в строку поиска.</br>Например: Софосбувир, Доклотосфир, Ледипасфир</blockquote></div>
</div>
</div>
</div>
<div class="row" style="margin-top: 30px;">
<div class="col-xl-offset-3 col-xl-6 col-lg-offset-1 col-lg-10 col-md-offset-1 col-md-10 col-sm-offset-0 col-sm-12">
<div class="row" style="text-align: center;">
<div class="col-xs-12 col-sm-4">
<img src="static/img/step1.jpg" width="150px" style="max-width: 100%;">
<div style="font-size: 32px; color: #808080">ШАГ 1</div>
<div style="font-size: 16px;">Воспользуйтесь поиском препаратов<br>вверху страницы</div>
</div>
<div class="col-xs-12 col-sm-4"><img src="static/img/step2.jpg" width="150px" style="max-width: 100%;">
<div style="font-size: 32px; color: #808080">ШАГ 2</div>
<div style="font-size: 16px;">Ознакомьтесь со списком результатов.<br>Проверенных аптечных учреждений</div>
</div>
<div class="col-xs-12 col-sm-4"><img src="static/img/step3.jpg" width="150px" style="max-width: 100%;">
<div style="font-size: 32px; color: #808080">ШАГ 3</div>
<div style="font-size: 16px;">Позвоните в выбранную аптеку или<br><a href="index.html#bronModal" onclick="$('#bronModal').modal('show')">закажите звонок нашего специалиста</a>
</div>
</div>
</div>
</div>
</div>

<div class=" row">
<div class="col-xl-offset-3 col-xl-6 col-lg-offset-1 col-lg-10 col-md-offset-1 col-md-10 col-sm-offset-0 col-sm-12 footer">
<a class="footer-brand" href="index.html">
<div class="navbar-brand__descriptions">
<span class="navbar-brand__desc1">ПОИСК-АПТЕКИ.RU<br></span>
<span class="navbar-brand__desc2">Единый справочник препаратов<br>по выгодным ценам</span>
</div>
</a>


<span class="footer__copyright">© 2015-2017 Все права защищены</br>Разработано студией <a href="http://s-white.ru">S-WHITE</a></span>
</div>
</div>
<script defer src="static/js/jquery-3.1.1.min.js" type="text/javascript"></script>
<script defer src="static/js/bootstrap.min.js" type="text/javascript"></script>
<script defer src="static/js/jquery-ui.min.js"></script>
<div id="licenseModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<!-- Заголовок модального окна -->
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Лицензии</h4>
</div>
<!-- Основное содержимое модального окна -->
<div class="modal-body request-modal">
<div class="row"><div class="col-xs-4">
<a href="static/licenz1.jpg"><img src="static/licenz1-small.jpg" style="width: 100%"></a>
</div>
<div class="col-xs-4"><a href="static/lic2.jpg"><img src="static/lic2-small.jpg" style="width: 100%"></a>
</div>
<div class="col-xs-4"><a href="static/inn.jpg"><img src="static/inn-small.jpg" style="width: 100%"></a>
</div>
</div>
</div>
<!-- Футер модального окна -->
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
</div>
</div>
</div>
</div>
<div id="thxModal" class="modal fade">
      <div class="modal-dialog">
        <div class="modal-content">
          <!-- Заголовок модального окна -->
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
            <h4 class="modal-title">Спасибо за обращение.</h4>
          </div>
          <!-- Основное содержимое модального окна -->
          <div class="modal-body request-modal">
              Наш оператор свяжется с вами в ближайшее время
          </div>
          <!-- Футер модального окна -->
          <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
          </div>
        </div>
      </div>
    </div>
    <div class="modal fade" id="bronModal" tabindex="-1" role="dialog" aria-labelledby="bronModalLabel" aria-hidden="true" style="width: 100%">
      <div class="modal-dialog request-modal">
        <div class="modal-content">
          <div class="modal-body">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true" style="position: absolute; top: 10px; right: 20px;">×</button>
              <div class="row" style="height: 100%">
            <div class="col-xs-12 col-sm-7 col-md-8">
                <h2 style="color: #f16525; align: center; display: block" align="center">Заказать обратный звонок</h2>

                    <form action="javascript: submitRequestForm();">
                        <div class="form-group">
                        <input class="form-control" required placeholder="Ваше имя" value="" name="req_name" id="req_name" type="text">
                        </div>
                        <div class="form-group">
                        <input class="form-control" placeholder="Интересующий препарат" name="req_drug" id="req_drug" value="" type="text">
                        </div>
                        <div class="form-group">
                        <input class="form-control" required placeholder="Телефон" name="req_phone" id="req_phone" value="" type="text">
                        </div>
                        <div class="form-group">
                        <input class="form-control" placeholder="Комментарий" name="req_comment" id="req_comment" value="" type="text">
                        </div>
                        <div class="clearfix"></div>
                        <button type="submit" class="btn btn-request btn-block">Отправить</button>
                    </form>
            </div>
            <div class="consult col-xs-12 col-sm-5 col-md-4" style="text-align: center;">
                    <p style="font-size: 16px;">
                        или позвоните на бесплатный номер
                    </p>
                    <h1>+7(495) 211-07-12</h1>
                    <p style="font-size: 12px;">
                        звонок по РФ бесплатный <br>24 часа в сутки
                    </p>
            </div>
                  </div>
          </div>
          <div class="modal-footer" style="text-align: center">
              <span style="text-size: 12px; color: grey;">Мы гарантируем полную конфиденциальность ваших данных</span>
          </div>
        </div><!-- /.modal-content -->
      </div><!-- /.modal-dialog -->
    </div>
<script defer type="text/javascript" src="static/js/app.js"></script>
<link rel="stylesheet" property="stylesheet" type="text/css" href="static/css/bootstrap.min.css">
<link rel="stylesheet" property="stylesheet" type="text/css" href="static/css/bootstrap-yii.css">
<link rel="stylesheet" property="stylesheet" type="text/css" href="static/css/jquery-ui-bootstrap.css">
<link rel="stylesheet" property="stylesheet" type="text/css" href="static/css/template.css">
<link rel="stylesheet" property="stylesheet" type="text/css" href="static/css/responsive.css">
<link rel="stylesheet" property="stylesheet" type="text/css" href="static/css/font-awesome.min.css">
<!-- RedConnect -->
<script id="rhlpscrtg" type="text/javascript" charset="utf-8" async="async"
src="https://web.redhelper.ru/service/main.js?c=klimatorru"></script>
<!--/RedConnect -->
</body>
</html>

gko11 29.06.2017 18:02

Пишет что сообщение отправленно, только скрипт php всё равно не получил данные, проверял этот скрипт на голой html форме, всё работает

laimas 29.06.2017 18:05

<input class="form-control" placeholder="Комментарий" name="req_comment" id="req_comment" value="" type="text"> - считаете, что в такое поле удобно писать комментарий? Наверное же TEXAREA нужна?

Вот эту хрень id="req_comment" и подобное в других полях выкинуть к чертовой матери. Смотрите код формы в примере, у них имена, и этого достаточно, и как отправляются поля формы примере тоже показано.

action="javascript: submitRequestForm();" - в помойку. Смотрите пример.

gko11 29.06.2017 18:08

id="req_comment" было изначально, name сказали добавить выше...
action="javascript: submitRequestForm();"
action="http://search-apteki.ru/sendmail/index.php" method="POST"
Ни 1 из вариантов не работает, по поводу коментария, это уже не важно, главное чтоб работал

laimas 29.06.2017 18:08

Цитата:

Сообщение от gko11
Пишет что сообщение отправленно

Сначала просто принять в своем коде и отправить клиенту полученное точно также, как в примере. Почта потом, тем более, что так не отправляют почту "не англицкую".

gko11 29.06.2017 18:13

Да дело то не в почте или скрипте, дело где-то на html странице, т.к. я вместо этой формы ставил рабочую и о чудо она тоже не работала...
Но как проблема может быть в html?
Ставил без скриптов и css эту страницу и рабочую форму, не отправляло!

laimas 29.06.2017 18:20

Цитата:

Сообщение от gko11
Да дело то не в почте или скрипте

Уверены? Причем тут HTML? Не гадайте на кофейной гуще, открывайте отладчик браузера, проверяйте сеть, XHR запросы, по запросу http://search-apteki.ru/1.php данные как и положено отправляются. Если бы отправки не было, сервер вообще бы не ответил.

До отправки почты лень написать

if($_POST) exit(print_r($_POST, 1));

чтобы удостоверится что север получает данные?

Хотите получить помощь, значит проверять а не гадать.

gko11 29.06.2017 18:26

Дак всмысле гадать? Если html форма, в которой указан метод пост и ссылка на обработчик, аналогично не работает, тут стоит грешить тогда на обработчик, я его проверил на голой форме и он работает, тогда в чём косяк? В форме? Я вставил голую форму за место той и она тоже не работала, отключив js и стили она аналогично не работала, остаётся 2 проблемы это хостинг(Но работает он исправно) и html.
Я не гадаю на кофейной гуще, я перепробовал все варианты, и они не работают

laimas 29.06.2017 18:29

Вот это другое дело, работает ваш код по http://search-apteki.ru/1.php. То есть все Ок. Остается посмотреть внимательно на код формы моего примера и на свой. В моем у полей есть имена, ID не нужны. Поля сериализует метод jQ, а если у поля формы нет имени, то на сервер оно отправляться не будет. Приведите в порядок код своей формы, выкинув из нее то, о чем говорилось и все будет работать.

laimas 29.06.2017 18:35

На реальной странице, два раза подключается jQuery - исправить. Либо со своего сайта, либо с Гугла.

laimas 29.06.2017 18:37

Да, и оператор ваш по указанному мной номеру телефона "а" связаться вряд ли сможет.

gko11 29.06.2017 18:49

<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>

На файл перенаправляет, выводит что сообщение отправлено, но оно не отправляется....
Хотя ещё пол часа назад отправлялось

gko11 29.06.2017 19:01

Ещё один пример, попробуй отправит данные, увидишь что получил php скрипт http://search-apteki.ru/1.php

laimas 29.06.2017 19:07

Мне что еще раз код написать или достаточно для понимания?

Я разве это придумал в вашем коде на сервере?

$name = $_POST['name'];
$drug = $_POST['drug'];
$phone = $_POST['phone'];
......

Нет. Это я согласно этого в своем коде формы именовал так поля ее: name, drug, ....

А у вас что за хрень такая name="req_name" и т.д.? Как может север получить в массиве полученном по ключу name, если в нем такого нет? Естественно $name = $_POST['name'] будети равно NULL. Вы же на сервере ничего не проверяете (и на клиенте тоже), не важно что там пришло, пустое ли поле или нет, сразу воткнули в почтовое сообщение и отправили.

gko11 29.06.2017 19:09

Сделал форму как сказанно выше, вернул отправку на 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, время: 02:26.