С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 10.12.2016
Сообщений: 6

Mail.php отправляет пустой текст из формы обратной связи на сайте

10.12.2016, 17:00. Показов 2084. Ответов 2
Метки php (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Есть форма обратной связи на сайте, скрипт js и mail.php. Сам алгоритм отрабатывает на ура, но вот письмо которое приходит - оно пустое. Т.е Имя\телефон\текст пустые. Дайте пожалуйста совет как исправить и куда копать
Вот скрипт js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/Аякс отправка форм
    //Документация: [url]http://api.jquery.com/jquery.ajax/[/url]
    $("form").submit(function() {
        $.ajax({
            type: "GET",
            url: "mail.php",
            data: $("form").serialize()
        }).done(function() {
            alert("Спасибо за заявку! Скоро мы с вами свяжемся:)");
            setTimeout(function() {
                var magnificPopup = $.magnificPopup.instance;
                magnificPopup.close();
            }, 1000);
        });
        return false;
    });
Скрипт mail.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
$recepient = "goreslpt@gmail.com";
$sitename = "Реаниматор";
 
$name = trim($_GET["name"]);
$phone = trim($_GET["phone"]);
$text = trim($_GET["text"]);
 
$pagetitle = "Новая заявка с сайта \"$sitename\"";
$message = "Имя: $name \nТелефон: $phone \nТекст: $text";
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2016, 17:00
Ответы с готовыми решениями:

php mail отправляет только на gmail, на остальные не приходит ничего, даже спам пустой
ini_set(&quot;SMTP&quot;, &quot;*****.l.google.com&quot;); ini_set(&quot;smtp_port&quot;, &quot;25&quot;); if (mail(&quot;cypher****@mail.ru&quot;,...

Настройка формы обратной связи на сайте
На сайте есть форма регистрации, после заполнения которой, мне на мэил приходят данные из формы (имя, телефон). Нужно сделать, чтобы мне на...

помогите-не работают формы обратной связи-контакты на сайте
делаю первый сайт на joomla не пойму-что надо сделать, чтобы с сайта, если люди пишут в форме обратной связи на странице сайта в...

2
 Аватар для Adigezalov
2 / 2 / 2
Регистрация: 23.06.2016
Сообщений: 73
11.12.2016, 10:40
Вчера тоже разбирался с формой обратной связи. Вот что получилось и вроде норм работает:
HTML5
1
2
3
4
5
6
7
8
9
<div class="feedback">
      <p>Задайте вопрос и мы свяжемся с Вами.</p>
      <input type="text" placeholder="Имя" id="name" name="name"><br />
      <input type="text" placeholder="Email" id="email" name="email"><br />
      <input type="text" placeholder="Тема сообщения" id="subject" name="subject"><br />
      <textarea id="message" name="message"></textarea><br />
      <div id="messageShow"></div>
      <input type="button" name="done" id="done" value="Отправить">
    </div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$(document).ready (function () {
  $("#done").click (function () {
    $('#messageShow').hide ();
    var name = $("#name").val ();
    var email = $("#email").val ();
    var subject = $("#subject").val ();
    var message = $("#message").val ();
    var fail = "";
    if (name.length < 1)
      fail = "Заполните поле с именем";
    else if (email.split ('@').length - 1 == 0 || email.split ('.').length - 1 == 0)
      fail = "Email введен неверно";
    else if (subject.length < 1)
      fail = "Введите тему сообщения";
    else if (message.length < 1)
      fail = "Введите свой вопрос";
    if (fail != "") {
      $('#messageShow').html (fail + "<div class = 'clr'></div>");
      $('#messageShow').show ();
      return false;
    }
    $.ajax ({
      url: '../ajax/feedback.php',
      type: 'post',
      cache: false,
      data: {'name': name, 'email': email, 'subject': subject, 'message': message},
      dataTyte: 'html',
      success: function (data) {
        $('#messageShow').html (data + "<div class = 'clr'></div>");
        $('#messageShow').show ();
      }
    });
  });
});
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
  $name = htmlspecialchars($_POST['name']);
  $email = htmlspecialchars($_POST['email']);
  $subject = htmlspecialchars($_POST['subject']);
  $message = htmlspecialchars($_POST['message']);
 
  // Отправка
 
  $subject = "=?utf-8?B?".base64_encode($subject)."?=";
  $headers = "From: $email\r\nReply-to: $email\r\nContent-type: text/html; charset=utf-8\n";
  date_default_timezone_set ('Europe/Moscow');
  if (mail("ВАША ПОЧТА", $subject, $message, $headers))
    echo "Сообщение отправлено";
  else
    echo "Сообщение не отправлено";
?>
Добавлено через 33 секунды
Дополнительно нужно подключить библиотеку ajax.
0
0 / 9 / 6
Регистрация: 31.03.2015
Сообщений: 65
13.12.2016, 20:53
У вас там только одна проблема!

Вы когда ajax делаете в js файле там в методе data написано $("form").serialize() я думаю здесь проблема. У вас на сайте не только одна тег с именим form.

Итак как работает язык js

Если ты так указал $("form") то js всегда найдет и вернет тебе то что найдет первым. Из за этого у тебя отправляет пустой текст. Так как на 1 форме ничего не заполнено!

Если заполнит первую форму то у тебя все ок будет!

Решение: $(this).serialize() а не $("form").serialize()

прочитай про this
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2016, 20:53
Помогаю со студенческими работами здесь

Как реализовать две разные формы обратной связи на сайте?
Есть лендинг. Несколько форм обратной связи. Мне надо их реализовать по-разному (обязательно без перезагрузки страницы ajax). 1) есть...

Почему не приходит письмо на почту из формы обратной связи на сайте?
Здравствуйте! Прошу объяснить мне почему не работает данный код &lt;?php if (session_id()=='') session_start(); if (isset($_POST)) { ...

Поправить текст формы обратной связи
Подскажите, а как поправить текст формы обратной связи http://xn--e1aybc.xn--80agp4ah.xn--p1ai/index.php/contact Написать все это по...

Нужен php обработчик для формы обратной связи
Как отправить письмо с php файла с помощью функции mail() ? Вот форма: &lt;form action=&quot;&quot; class=&quot; submForm form-horizontal...

Код html или php для формы обратной связи
форма обратной связи!! подскажите плиз код html или php для формы обратной связи в моём случае форма для заявки в интернет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru