ЭНЦИКЛОПЕДИЯ СОВРЕМЕННОГО САЙТОСТРОЕНИЯ

Лучшее Форма обратной связи не срабатывает

Тема в разделе "Другие вопросы по созданию сайта", создана пользователем Мефистофель, 5 фев 2016.

  1. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Признаюсь сразу - раньше всегда пользовался только готовыми решениями, как, собственно, и сейчас. Только в шаблоне, который я перекраиваю, совершенно не работала кнопка отправки. Шаманил-шаманил. Испортил весь код своими экспериментами, но так ничего и не заработало.

    Вот как выглядит форма обратной связи:

    HTML:
    <form  action="mail.php" method="post" name="form" target="blank" >
             <div class="col-md-6">
               <div class="form-group">
                 <label for="InputName">Представьтесь</label>
                 <div class="input-group">
                   <input action="mail.php" type="text" class="form-control" name="InputName" id="InputName" placeholder="Ваше имя" required>
                   <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span>
                 </div>
               </div>
               
               <div class="form-group">
                 <label for="InputEmail">Укажите почтовый ящик</label>
                 <div class="input-group">
                   <input action="mail.php" type="email" class="form-control" id="InputEmail" name="InputEmail" placeholder="Email" required  >
                   <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span>
                 </div>
               </div>
               
               <div class="form-group">
                 <label for="InputMessage">Проблема или пожелание</label>
                 <div class="input-group">
                   <textarea action="mail.php" name="InputMessage" id="InputMessage" class="form-control" rows="5" required></textarea>
                   <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span>
                 </div>
               </div>
    
               <input type="submit" name="submit" id="submit" value="Отправить" class="btn wow tada btn-embossed btn-primary pull-right" action="mail.php" >
             </div>
           </form>
    
    В корне сайта создал mail.php:

    HTML:
    <?php
    
    $name = $_POST['InputName'];
    $email = $_POST['InputEmail'];
    $InputMessage = $_POST['InputMessage'];
    
    $REMOTE_ADDR = $_POST['REMOTE_ADDR'];
    
    if (isset ($InputName))
    {
    $InputName = substr($InputName,0,20); //Не может быть более 20 символов
    if (empty($InputName))
    {
    echo "<center><b>Имя при рождении не дали что ли? Назовись порядковым номером!<p>";
    echo "<a href=mail.php>Вернуться и заполнить по-человечески.</a>";
    exit;
    }
    }
    else
    {
    $InputName = "не указано";
    }
    
    if (isset ($InputName))
    {
    $email = substr($InputName,0,20); //Не может быть более 20 символов
    if (empty($InputName))
    {
    echo "<center><b>Почту свою укажи, тугодум!<p>";
    echo "<a href=mail.php>Вернуться и заполнить по-человечески.</a>";
    exit;
    }
    }
    else
    {
    $InputEmail = "не указано";
    }
    
    if (isset ($InputMessage))
    {
    $InputMessage = substr($InputMessage,0,1000); //Не может быть более 1000 символов
    if (empty($InputMessage))
    {
    echo "<center><b>Сообщение не написано !!!<p>";
    echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
    exit;
    }
    }
    else
    {
    $InputMessage = "не указано";
    }
    
    $i = "не указано";
    if ($InputName == $i AND $InputEmail == $i AND $InputMessage == $i)
    {
    echo "Внимание! Произошла ошибка! Вы не заполнили поля сообщения!";
    exit;
    }
    
    $to = "marketing@madmark";
    $subject = "MADMARK - заявка на халяву";
    $InputMessageage = "Имя пославшего письмо: $InputName .\nЭлектронный адрес: $InputEmail\nСообщение: $InputMessage .\nIP-адрес: $_SERVER[REMOTE_ADDR]";
    mail ($to,$subject,$InputMessageage,"Content-type:text/plain; charset = utf-8") or print "Чот не получается!";
    echo "<center><b>Ждите ответа.<br><br> Халяву любят все. <br><br> В ближайшее время Вы обязательно получите ответ.";
    exit;
    ?>
    
     
    #1
  2. Загрузка...
  3. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Просидел всю ночь, читал, искал, правил. Письма так и не приходят, но стала срабатывать переадресация на страницу уведомления об успешной отправке. Но на указанное мыло письма так и не идут. Жду помощи и подсказок. Вот что у меня получилось в коде индекса и мэйла:
    INDEX.HTML
    HTML:
    <form  action="mail.php" method="post" >
             <div class="col-md-6">
               <div class="form-group">
                 <label for="name">Представьтесь</label>
                 <div class="input-group">
                   <input type="text" class="form-control" name="name" placeholder="Ваше имя" required>
                   <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span>
                 </div>
               </div>
               
               <div class="form-group">
                 <label for="email">Укажите почтовый ящик</label>
                 <div class="input-group">
                   <input  type="email" class="form-control"  name="email" placeholder="Email" required  >
                   <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span>
                 </div>
               </div>
               
               <div class="form-group">
                 <label for="message">Проблема или пожелание</label>
                 <div class="input-group">
                   <textarea name="message"  class="form-control" rows="5" required></textarea>
                   <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span>
                 </div>
               </div>
               </p>
        <input name="bezspama" type="text" style="display:none" value="" />
    
               <input type="submit" name="submit"  value="Отправить" class="btn wow tada btn-embossed btn-primary pull-right">
             </div>
           </form>
    
    MAIL.PHP
    HTML:
    <?php
    /* Задаем переменные */
    $name = htmlspecialchars($_POST["name"]);
    $email = htmlspecialchars($_POST["email"]);
    $message = htmlspecialchars($_POST["message"]);
    $bezspama = htmlspecialchars($_POST["bezspama"]);
    /* Ваш адрес и тема сообщения */
    $address = "info@madmark.ru";
    $sub = "Заявка MADMARK";
    /* Формат письма */
    $mes = "Заявка MADMARK.\n
    Имя отправителя: $name
    Электронный адрес отправителя: $email
    Текст сообщения:
    $message";
    if (empty($bezspama)) /* Оценка поля bezspama - должно быть пустым*/
    {
    /* Отправляем сообщение, используя mail() функцию */
    $from  = "From: $name <$email> \r\n Reply-To: $email \r\n";
    if (mail($address, $sub, $mes, $from)) {
       header('Refresh: 5; URL=http://madmark.ru');
       echo ' <script type="text/javascript">
    window.location = "mailback.html"
    </script>';}
    else {
       header('Refresh: 5; URL=http://biznessystem.ru');
       echo 'Письмо не отправлено, через 5 секунд вы вернетесь на страницу Madmark.ru';}
    }
    exit; /* Выход без сообщения, если поле bezspama заполнено спам ботами */
    ?>
    
     
    #2
  4. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    А MAIL.PHP вообще рабочий? Я бы для начала взял заведомо рабочий скрипт в готовом виде и протестил его на своем хостинге, а потом бы стал прикручивать к лидовой странице.

    Что в логах пишется?
     
    #3
  5. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    mail() функция разрешена хостером?

    Это что: header('Refresh: 5; URL=http://biznessystem.ru');
    PHP:
    else {
       
    header('Refresh: 5; URL=http://biznessystem.ru');
       echo 
    'Письмо не отправлено, через 5 секунд вы вернетесь на страницу Madmark.ru';}
    }
    exit; 
    /* Выход без сообщения, если поле bezspama заполнено спам ботами */
    ?>
     
    #4
  6. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    сейчас какой-нибудь прикручу - проверю. Логи не смотрел - я в них очень долго разбираюсь - для меня там мало что понятно. Сейчас полезу смотреть. А где именно смотреть нужную информацию - не подскажешь?
     
    #5
  7. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    это кусок кода я его не стал менять, надо бы просто доковырять чтоб работать начал, а ссылку можно и потом воткнуть. Сейчас заменю.

    А как узнать разрешена ли функция хостером?
     
    #6
  8. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Выкладывай логи, подскажу.
     
    #7
  9. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    HTML:
    else {
       header('Refresh: 5; URL=http://madmark.ru');
       echo 'Письмо не отправлено, через 5 секунд вы вернетесь на страницу Madmark.ru';}
    }
    
     
    #8
  10. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Бог ты мой!!! Все, что я проверял в форме, сейчас привалило на почту... Все работает, оказывается. Только почему-то кодировка кривая.... Щас ее надо будет исправлять. Это я просто сообщаю, что функция работает. Но логи сейчас все-равно выложу, надо ведь знать на будущее)

    А с кодировкой попробую поколдовать сам. Не выйдет - спрошу. Я за логами, потом в кодировке шарить. А ты пока зацени страницу после отправки сообщения из формы) Просто долго выбирал. Креативлю)
     
    #9
  11. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Если я правильно понимаю, то это они:\
    HTML:
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
    mail() on [/var/www/vhosts/xxxxxxxxx.plsk.regruhosting.ru/httpdocs/madmark.ru/mail.php:64]: To: marketing@madmark -- Headers: Content-type:text/plain; charset = utf-8
     
    Последнее редактирование модератором: 5 фев 2016
    #10
  12. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Создать файл с функцией phpinfo и выполнить его из браузера. Затем не забыть удалить. Подробнее здесь.
     
    #11
  13. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Смотрел, прикольно.:) Ты просто Бог креатива:):):)
     
    #12
  14. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Там разные логи есть. Есть логи активности, а есть логи ошибок.
     
    #13
  15. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Ошибка. Прописано http://madmark.ru а сайт у тебя перебрасывает на http://www.madmark.ru

    Ты уж определись с названием сайта или он у тебя с www или без. Это разные адреса сайтов.

    Вот, к примеру, я делаю сайт своими руками - http://sait-svoimi-rukami.ru без www. Если ввести адрес с www - http://www.sait-svoimi-rukami.ru то сработает переадресация на сайт без www. Значит правильный вариант написания адреса форума по созданию сайта с нуля - http://sait-svoimi-rukami.ru. У тебя же всё наоборот.
     
    Последнее редактирование: 5 фев 2016
    #14
  16. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    у меня псевдоним есть - с www перекидывает на без www.
     
    #15
  17. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Нет, совсем наоборот.
     
    #16
  18. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    upload_2016-2-5_10-51-58.png
     
    #17
  19. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    посмотри, пока открыто: http://www.madmark.ru/phpinfo.php
     
    Последнее редактирование модератором: 5 фев 2016
    #18
  20. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Так что смотреть, работает вроде? sendmail не запрещен.
     
    #19
  21. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Да, заменить предпочтительный домен на домен без www.
     
    #20
  22. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Заменил. Теперь все пучком=)
     
    #21
  23. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Для напоминания - вот что было:
    Код:
    <?php
    /* Задаем переменные */
    $name = $_POST["name"];
    $email = $_POST["email"];
    $message = $_POST["message"];
    $bezspama = $_POST["bezspama"];
    
    /* Ваш адрес и тема сообщения */
    $address = "info@madmark.ru";
    $sub = "Заявка MADMARK";
    /* Формат письма */
    $mes = "Заявка MADMARK.\n
    Имя отправителя: $name
    Электронный адрес отправителя: $email
    Текст сообщения:
    $message";
    
    if (empty($bezspama)) /* Оценка поля bezspama - должно быть пустым*/
    {
    /* Отправляем сообщение, используя mail() функцию */
    $from  = "From: $name <$email> \r\n Reply-To: $email \r\n";
    if (mail($address, $sub, $mes, $from)) {
       
        echo ' <script type="text/javascript">
    window.location = "mailback.html"
    </script>';}
    else {
        header('Refresh: 5; URL=http://madmark.ru');
        echo 'Письмо не отправлено, через 5 секунд вы вернетесь на страницу Madmark.ru';}
    }
    exit; /* Выход без сообщения, если поле bezspama заполнено спам ботами */
    ?>
    Вот что приходит на почту:

    upload_2016-2-5_11-25-46.png

    Попытался изменить кодировку двумя способами:

    1.:
    PHP:
    "Content-Type: text/plain; windows-1251"
    добавил в это:
    PHP:
    if (mail($address$sub$mes$from))
    Получилось это:

    PHP:
    if (mail($address$sub$mes$from"Content-Type: text/plain; windows-1251"))

    Не помогло, тогда пошел таким путем:

    Было:
    Код:
    /* Формат письма */
    $mes = "Заявка MADMARK.\n
    Имя отправителя: $name
    Электронный адрес отправителя: $email
    Текст сообщения:
    $message";
    
    Стало:
    Код:
    /* Формат письма */
    $mes = "Заявка MADMARK.\n
    Имя отправителя: $name
    Электронный адрес отправителя: $email
    Текст сообщения:
    $message";
    $mes = iconv("utf-8", "windows-1251", $mes);
    НИкакого результата. Как еще попытаться?
     
    #22
  24. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Попробовал добавить $headers и присвоил следующее:
    PHP:
    $headers 'MIME-Version: 1.0' "\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' "\r\n";
    Добавил $headers сюда:
    Код:
    if (mail($address, $sub, $mes, $from, $headers 
    Ииииии... снова ничего не вышло. Что же я делаю не так?
     
    #23
  25. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    1. Везде ставить только "utf-8"
    2. Проверить кодировку файлов .php, конвертнуть в notepad++ в UTF8 с BOM.
    3. Проверить кодировку файла индексной страницы, конвертнуть в notepad++ в UTF8 с BOM.
     
    #24
  26. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    По пунктам на третий раз все сделал - никакой реакции.
     
    #25
  27. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Заметил следующее. Поставил перенаправление с почты хостинга на мэйловскую. На мэйл приходит корректно, а на почте хостинга - криво. Это поможет решить задачу?
     
    #26
  28. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    И все же нет. Письмо на мэйл пришло с корректной темой, указано:

    Заявка MADMARK.

    Имя отправителя:
    Электронный адрес отправителя:
    Текст сообщения:

    Это то же, что и в php:

    PHP:
    /* Формат письма */
    $mes "Заявка MADMARK.\n
    Имя отправителя: 
    $name
    Электронный адрес отправителя: 
    $email
    Текст сообщения:
    $message";
    НО!

    Значение переменных не прописано в письме! :

    upload_2016-2-5_12-15-49.png
     
    #27
  29. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Ерунда какая-то...
    Теперь на хостинг-почту пришли кракозябры, а на мэйловскую полное письмо:

    upload_2016-2-5_12-18-50.png

    При этом я ничего не менял, просто еще раз попробовал отправить через форму.
     
    #28
  30. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Да чтоб я провалился!!!

    upload_2016-2-5_12-21-14.png
     
    #29
  31. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Посмотри исходный код пришедшего письма. Кодировка задана?
     
    #30
  32. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    upload_2016-2-5_12-30-59.png

    Это страница входящей почты. Единственное упоминание кодировки здесь.

    Вот часть с письмом:

    upload_2016-2-5_12-32-33.png
     
    #31
  33. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    #32
  34. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    И это еще не все.... теперь какого-то черта мне на почтЫ приходит письмо после отправки формы дважды: один раз со значениями переменных, второе следом только с $mes.
     
    #33
  35. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Да как увидел это поле, сразу поменял. просто никогда не настраивал почту на хостинге - впервые. если бы случайно не наткнулся, то и мучился бы до сих пор.
     
    #34
  36. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Главное - приходит:)
     
    #35
  37. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    ну уж нет) надо разобраться в чем тут дело. Ковыряюсь. Это наверняка после того, как я строк с разных ресурсов накопировал себе в файл - вот чего-то и намудрил. Глянь свежим взглядом:

    PHP:
    <?php
    /* Задаем переменные */
    $name $_POST["name"];
    $email $_POST["email"];
    $message $_POST["message"];
    $bezspama $_POST["bezspama"];



    /* Ваш адрес и тема сообщения */
    $address "info@madmark.ru";
    $sub "Заявка MADMARK";

    /* Формат письма */
    $mes "Заявка MADMARK.\n
    Имя отправителя: 
    $name
    Электронный адрес отправителя: 
    $email
    Текст сообщения:
    $message";

    if (empty(
    $bezspama)) /* Оценка поля bezspama - должно быть пустым*/
    {
    /* Отправляем сообщение, используя mail() функцию */
    if (mail($address$sub$mes"Content-Type: text/plain; utf-8")) {
       
        echo 
    ' <script type="text/javascript">
    window.location = "mailback.html"
    </script>'
    ;}
    else {
        
    header('Refresh: 5; URL=http://madmark.ru');
        echo 
    'Письмо не отправлено, через 5 секунд вы вернетесь на страницу Madmark.ru';}
    }
    exit; 
    /* Выход без сообщения, если поле bezspama заполнено спам ботами */
    ?>
     
    #36
  38. Jonny

    Jonny Гуру Команда форума Администратор

    Сообщения:
    748
    Рейтинг:
    143
    Здесь вроде ничего лишнего нет.
     
    #37
  39. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    И смех и грех.... Выяснил я почему у меня криво приходит почта. Щас ты должен посмеяться будешь, Джонни. Вместе с техподдержкой... Нет, начну сначала.

    После того, как я пролистал 148375 форумов, 3532справочника и достал пятерых человек, я решил написать в техподдержку хостинга. Вот мое сообщение:

    Мне перезвонили. Начали обсуждать. Долго-долго говорили, я параллельно отправил ему файлы оригиналы, чтобы он попробовал не на моих раскуроченных, а на нормальных. Потом 5 минут "оставайтесь на линии", потом еще 12435 вопросов, потом еще 5 минут на линии, потом присоединяется и говорит:" Я не пойму в чем проблема, но ... (секундная пауза)... ДА Ё%DF9796 **** ТВОЮ *** ** **** ...нУ КАК *** ТАКОЕ *** МОЖЕТ ************* (ДОЛГИЙ МАТ)., ПОТОМ СПОКОЙНО ТАК: "Денис, скажите, а как у вас отправляется 2 письма вместо одного, если на вашем тарифе php вообще не функционирует? Как, ***, вам вообще приходят письма???? Я вам перезвоню минут через 10. До сих пор жду звонка=)))
     
    #38
  40. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    В итоге форма обратной связи работает, PHPне отключили, единственный запрет стоит на изменение версии PHP (и то он мне был нужен для обновления файла php.ini.

    Как продварительный итог темы - форма обратной связи работает. Отправляет письма)))

    upload_2016-2-6_10-55-47.png
     
    Последнее редактирование модератором: 6 фев 2016
    #39
  41. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    что-то со мной не так. Может инопланетяне со мной проводили эксперименты? Короче, сменил скрипт, отредактировал... и снова приходит по полтора письма.

    После отправки формы на почту получаю 2 письма:

    Пример первого:

    От кого: Клиент MADMARK

    ОБРАЩЕНИЕ С САЙТА MADMARK
    Имя gvlhbjkn
    Почта для ответа: hhhhhhhhhh@mail.ru
    Сообщение: xcvbnngfhjn

    Пример второго:

    От кого: Клиент MADMARK

    ОБРАЩЕНИЕ С САЙТА MADMARK
    Имя
    Почта для ответа:
    Сообщение:


    Код формы:

    HTML:
        <form  action="mail.php" method="post" class="form-control">
                                        <div class="col-md-6">
                                                <div class="form-group">
                                                        <label for="name">Представьтесь</label>
                                                        <div class="input-group">
                                                                <input  type="text" class="form-control" name="name" placeholder="Ваше имя" required>
                                                                <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span>
                                                        </div>
                                                </div>
                                               
                                                <div class="form-group">
                                                        <label for="email">Укажите почтовый ящик</label>
                                                        <div class="input-group">
                                                                <input  type="email" class="form-control"  name="email" placeholder="Email" required  >
                                                                <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span>
                                                        </div>
                                                </div>
                                               
                                                <div class="form-group">
                                                        <label for="message">Проблема или пожелание</label>
                                                        <div class="input-group">
                                                                <textarea name="message"  class="form-control" rows="5" required></textarea>
                                                                <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span>
                                                        </div>
                                                </div>
                                                </p>
                 
                                                <input type="submit" name="submit"  value="Отправить" class="btn wow tada btn-embossed btn-primary pull-right">
                                        </div>
                                </form>
    Вот код PHP:

    PHP:
    <?PHP
        
    /* Здесь проверяется существование переменных */
        
    if (isset($_POST['name'])) {$name $_POST['name'];}
        if (isset(
    $_POST['email'])) {$email $_POST['email'];}
        if (isset(
    $_POST['message'])) {$message $_POST['message'];}
        
    /* Сюда впишите свою эл. почту */
        
    $address "zakaz@madmark.ru";
        
    /* А здесь прописывается текст сообщения, \n - перенос строки */
        
    $mes "ОБРАЩЕНИЕ С САЙТА MADMARK\nИмя $name\nПочта для ответа: $email\nСообщение: $message";
        
    /* А эта функция как раз занимается отправкой письма на указанный вами email */
        
    $sub='ЗАЯВКА'//сабж
        
    $email='Клиент MADMARK'// от кого
        
    $send mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nОт кого: $email");
        
    ini_set('short_open_tag''On');
        
    header('Refresh: 6; URL=index.html');
        
    ?>
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta http-equiv="refresh" content="6; url=index.html">
        <title>С вами свяжутся</title>
        <meta name="generator">
        <body>
        <center>
                <img src="img/shok.jpg" height="700">
        </center>
        </body>

        <script type="text/javascript">
        setTimeout('location.replace("/index.html")', 6000);
        /*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
        </script>
        </head>
        </body>
        </html>




    Предполагаю, что проблема в html или у меня действительно ооочень кривые руки. Потому что php обработчик я уже новый собрал из нескольких других - от старого ничего не осталось, а письма приходят дважды.

    Что посоветуете?
     
    #40
  42. Мефистофель

    Мефистофель Гуру Команда форума Эксперт

    Сообщения:
    398
    Рейтинг:
    198
    Род занятий:
    Интернет-маркетинг
    Откуда:
    Новосибирск
    Добавил в начало скрипта if(isset($_POST['submit'])) {

    Вроде бы получилось))) но зная, что почта порой задерживается, буду ждать еще и пустого письма.
    Если не трудно, то проверьте и вы форму.
     
    Последнее редактирование: 6 фев 2016
    #41