php mail () в форме обратной связи

Вопросы о том как и что сделать чтобы работало
Правила форума
1. Один вопрос - одна тема. Не надо задавать в той же теме другие вопросы.
2. Не пишите в чужих темах, если ваша проблема не имеет отношения к обсуждаемой.
3. Давайте полное описание проблемы - имя сайта, имя сервера, учётная запись, способ воспроизведения, скриншот ошибки.
4. Пароли выкладывать в форум - НЕ НАДО
Ответить
apulchra
Сообщения: 21
Зарегистрирован: 2012-11-13, 16:00:15

php mail () в форме обратной связи

Сообщение apulchra »

Добрый день,
сайт efre.su/cniokr.php
пытаюсь запустить форму обратной связи на сайте. Есть форма типа:

Код: Выделить всё

<form action="post.php" data-them="Тема" data-show=".thank" data-hide=".hide"  method="POST">
Есть заполненный на основе мануалов из сети файл (сейчас несколько вариантов для тестирования post.php и send.php) - то работает, то не работает... Изначально не работало, стал пробовать варианты. Например, помещаем

Код: Выделить всё

<?
mail("myEmail@mail.ru", "Friday Today", "Hello World!");
?>
в сам cniokr - тестовое письмо отправляется и приходит на указанный адрес без видимых проблем при обновлении страницы cniokr.php; также всё хорошо если такой код поместить в файл post.php и нажать на кнопу отправить на странице (по событию submit)

При попытке передать значение из какого-нибудь поля формы в сообщение, например:

Код: Выделить всё

<?
$message=$_POST['message'];
mail("dzhezhora_aa@mail.ru", "Segodnya Pt", $message);
?>
уже не работает, соответствующее письмо не отправляется и не приходит. Почему?
lissyara
Site Admin
Сообщения: 6464
Зарегистрирован: 2009-09-19, 22:04:41

Re: php mail () в форме обратной связи

Сообщение lissyara »

а в этой пременной что-то есть?
$message=$_POST['message'];
?
Убей их всех! Бог потом рассортирует...
apulchra
Сообщения: 21
Зарегистрирован: 2012-11-13, 16:00:15

Re: php mail () в форме обратной связи

Сообщение apulchra »

lissyara писал(а): 2024-06-07, 7:49:06 а в этой пременной что-то есть?
$message=$_POST['message'];
?
Получается, что нет... Но почему? Вот сделал тестовый файл в корне testForm.php c таким кодом:

Код: Выделить всё

<html>
 <head>
 </head>
 <body>
    <form action='/testForm.php' method='post'>
    <input type="text" name="name">
    <textarea name="message" placeholder="Сообщение..."required="required"></textarea>
    <input type="submit" name="save" >
    </form>
    <?php

    if(isset($_POST['name']) && isset($_POST['message'])){
     echo $_POST['name'].'<br>';
     echo $_POST['message'];
     mail(" myMail@mail.ru", $_POST['name'], $_POST['message']);
    }
?>
 </body>
</html>
- работает, этот же код (с правильной ссылкой action помещаю в cniokr.php - не работает... Где ошибка?
lissyara
Site Admin
Сообщения: 6464
Зарегистрирован: 2009-09-19, 22:04:41

Re: php mail () в форме обратной связи

Сообщение lissyara »

проверяйте куда и что отправляется, что приходит
Убей их всех! Бог потом рассортирует...
apulchra
Сообщения: 21
Зарегистрирован: 2012-11-13, 16:00:15

Re: php mail () в форме обратной связи

Сообщение apulchra »

А где/как посмотреть информативные логи? error.log пустой...
Похоже, что php mail конфликтует со скриптами javascript, такой вывод можно сделать, если в простейший код testForm.php во внутрь <head></head> вставить весь код тега <head> сайта, в т.ч со ссылками на скрипты, которые в свою очередь присутствуют там из html5 шаблона...
сейчас нужную страницу и форму обратной связи удалось полузапустить при помощи ajax, вставляемого сразу за формой

Код: Выделить всё

<script>
  $("document").ready(function(){
     $("#sendform").submit(function(event){
        event.preventDefault();                
        var data = $(this).serialize();
        $.ajax({
          type: "POST",
          dataType: "json",
          url: "send.php",
          data: data,
           success: function(r) {
              console.log(r);
                       }
                       });
           return false;
                    });
                    });                
</script>
но оно то работат, то не работает, то есть: заполняем поля формы, отравляем - отправляется/приходит, второй раз делаем тоже самое не приходит - и так через раз, пока совсем на насколько часов не перестаёт работать. Что-то переполняется... Это как-то можно отследить из админки хостинга?
lissyara
Site Admin
Сообщения: 6464
Зарегистрирован: 2009-09-19, 22:04:41

Re: php mail () в форме обратной связи

Сообщение lissyara »

на количество сообщений тоже есть лимит:
https://www.host-food.ru/limits/
Убей их всех! Бог потом рассортирует...
Ответить