За последние 24 часа нас посетили 36693 программиста и 1812 роботов. Сейчас ищут 756 программистов ...

Не отправляется или не получает

Тема в разделе "PHP для новичков", создана пользователем gko11, 29 июн 2017.

  1. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    Есть обработчик формы

    PHP:
    1. var submitRequestForm = function() {
    2.     $('#bronModal').modal('hide');
    3.     $('#thxModal').modal('show');
    4.     var json = JSON.stringify({
    5.         name: $("#req_name").val(),
    6.         drug: $("#req_drug").val(),
    7.         phone: $("#req_phone").val(),
    8.         comment: $("#req_comment").val(),
    9.     site: 'Poisk apteki'
    10.     });
    11.     var url = "http://search-apteki.ru/sendmail/index.php";
    12.     $.post(url,
    13.         json,
    14.         function(resp) {
    15.             console.log(resp);
    16.         }
    17.     );
    18.  
    19.     $.post("http://search-apteki.ru/sendmail/index.php",
    20.         JSON.stringify({
    21.           name: $("#req_name").val(),
    22.           phone: $("#req_phone").val(),
    23.           comment: $("#req_drug").val() + ", " + $("#req_comment").val(),
    24.         }),
    25.         function(resp) {
    26. }
    27.     );
    28. }
    29.        
    И есть обработчик отправленных данных
    PHP:
    1. <?php
    2. if(isset($_POST['name']))
    3. {
    4. $name = $_POST['name'];
    5. $name = htmlspecialchars($name);
    6. $name = urldecode($name);
    7. $name = trim($name);
    8. $drug = $_POST['drug'];
    9. $drug = htmlspecialchars($drug);
    10. $drug = urldecode($drug);
    11. $drug = trim($drug);
    12. $phone = $_POST['phone'];
    13. $phone = htmlspecialchars($phone);
    14. $phone = urldecode($phone);
    15. $phone = trim($phone);
    16. $comment = $_POST['comment'];
    17. $comment = htmlspecialchars($comment);
    18. $comment = urldecode($comment);
    19. if (mail("123123123@ya.ru", "Заявка с сайта", "Имя:".$name." E-mail: ".$drug." Телефон:".$phone." Сообщение:".$comment."",$drug))
    20. {     echo "сообщение успешно отправлено";
    21.     //header('Refresh:3; URL=https://123123123/contacts.php');
    22.  
    23. } else {
    24.     echo "при отправке сообщения возникли ошибки";
    25. }
    26. } else header("Location: /");?>
    В итоге данная система в паре не работает, а обработчик на php пашет, в чём косяк?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    POST запросом же всё отправил
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    что PHP скрипт получает?
     
  5. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    Всё, он не получает ни 1 параметра от $.post
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Так, дальше, ajax запрос какие данные отправляет? Если браузер chrome то F12 потом network и нажать на запрос
     
  7. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    Все 3 запроса, отправляют 1 и тот же пакет данных
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Видимо что-то с настройками веб-сервера или PHP, раз данные теряются
     
  9. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    [​IMG] Вроде и в настройках всё норм
     
  10. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    Ну так сказать функция mail выполняется, т.е. js запрашивает php проверку..
    Но вот не задача, поля приходят пустыми.... Т.е. по сути он отправляет данные, но пустые
     
  11. umbabaraumba

    umbabaraumba Новичок

    С нами с:
    18 июн 2017
    Сообщения:
    100
    Симпатии:
    17
    У вас при заходе на страницу сразу же срабатывет header("Location: /");

    Код (Text):
    1. <?php
    2. if(isset($_POST['name']))
    3. {
    4.  
    5. } else header("Location: /");?>
     
  12. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    Дак это проверка на повторную отправку формы, а у меня Post параметр просто не получает данные из формы и js скрипта
     
  13. umbabaraumba

    umbabaraumba Новичок

    С нами с:
    18 июн 2017
    Сообщения:
    100
    Симпатии:
    17
    header("Location: /"); должен быть внутри ифа а не после.
    Сейчас у вас получается что:
    если (isset($_POST['name'])
    {
    то отправляется письмо
    }
    иначе header("Location: /");
    тоесть иф в котором отправка почты просто не отрабатывает.
     
  14. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    Господи, косяк не в этом, ещё раз повторюсь, косяк в том что форма(Если напрямую) и js отправляют пустые POST запросы....
    Данная php форма работает исправно! Проверялось!
     
  15. umbabaraumba

    umbabaraumba Новичок

    С нами с:
    18 июн 2017
    Сообщения:
    100
    Симпатии:
    17
    Не понял, скрипт ВСЕ получает, или НИ ОДНОГО параметра не получает??
     
  16. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    Скрипт либо не получает, либо получает но пустыми
     
  17. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
  18. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    array(0) { } сообщение успешно отправлено
    array(4) { ["req_name"]=> string(6) "123231" ["req_drug"]=> string(7) "3123123" ["req_phone"]=> string(3) "312" ["req_comment"]=> string(6) "123123" } сообщение успешно отправлено
    Данные приходят, только вот не отправляются на почту
    Код (Text):
    1. <?php
    2. //if(isset($_POST['name']))
    3. //{
    4. /*$name = $_POST['name'];
    5. $name = htmlspecialchars($_POST['name']);
    6. $name = urldecode($name);
    7. $name = trim($name);
    8. $drug = $_POST['drug'];
    9. $drug = htmlspecialchars($drug);
    10. $drug = urldecode($drug);
    11. $drug = trim($drug);
    12. $phone = $_POST['phone'];
    13. $phone = htmlspecialchars($phone);
    14. $phone = urldecode($phone);
    15. $phone = trim($phone);
    16. $comment = $_POST['comment'];
    17. $comment = htmlspecialchars($comment);
    18. $comment = urldecode($comment);*/
    19. error_reporting ( E_ALL );
    20. var_dump ( $_POST );
    21. if (mail("mrfierro@ya.ru", "Заявка с сайта", "Имя:".$_POST['req_name']." E-mail: ".$_POST['req_drug']." Телефон:".$_POST['req_phone']." Сообщение:".$_POST['req_comment']."","mrfierro@ya.ru"))
    22. {     echo "сообщение успешно отправлено";
    23.     //header('Refresh:3; URL=https://cental.su/contacts.php');
    24.  
    25. } else {
    26.     echo "при отправке сообщения возникли ошибки";
    27. }
    28. //} else header("Location: /");?>
     
  19. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    Нашёл ошибку, но не нашёл именно где...
    php файл получает POST данные, как говорит консоль...
    А вот на почту приходят пустые