За последние 24 часа нас посетили 71805 программистов и 10272 робота. Сейчас ищут 2555 программистов ...

Проблема с обратной связью (не приходят сообщения)

Тема в разделе "PHP для новичков", создана пользователем Maratelo, 28 янв 2016.

  1. Maratelo

    Maratelo Новичок

    С нами с:
    28 янв 2016
    Сообщения:
    8
    Симпатии:
    0
    Адрес:
    Москва
    Добрый вечер, Форумчане! Не как не могу настроить обратную связь на сайте (сообщения не приходят на почту).
    В HTML менял value="r.genesis.art@gmail.com" на свою почту, но сообщения все равно не приходят :(
    Заранее спасибо :)

    Кусок HTML кода обратной связи.
    Код (PHP):
    1. <div id="contact-form" class="form-block" style="background-color: rgba(0,0,0,0.65);">
    2.                     <h2 class="title small">Drop us a line</h2>
    3.  
    4.                     <form action="form-data/formdata.php" class="form-widget" novalidate="novalidate">
    5.                         <input type="hidden" name="to" value="r.genesis.art@gmail.com">
    6.                         <input class="form-control" data-label="Name" required="" data-msg="Please enter name." type="text" name="name" placeholder="Enter your name" aria-required="true">
    7.                         <input class="form-control" data-label="Email" required="" data-msg="Please enter email." type="email" name="email" placeholder="Enter your email" aria-required="true">
    8.                         <textarea class="form-control" data-label="Message" required="" data-msg="Please enter your message." name="message" placeholder="Add your message" cols="30" rows="10" aria-required="true"></textarea>
    9.                         <button type="submit" class="btn btn-primary"><class="fa fa-envelope-o"></i> Submit</button>
    10.                     </form>
    11.                     <div class="msg-block"></div>
    12. </div>

    Код файла formdata.php
    Код (PHP):
    1. <?php
    2. if (isset($_POST) && sizeof($_POST) > 0) {
    3.    
    4.     $to = $_POST['to']['val']; // <=== Set static email here.
    5.    
    6.     if (isset($_POST['formtype'])) {
    7.         unset($_POST['formtype']);
    8.     }
    9.     if (isset($_POST['to'])) {
    10.         unset($_POST['to']);
    11.     }
    12.    
    13.     $email_address = $_POST['email']['val'];
    14.     $email_subject = "Form submitted by: ".$_POST['name']['val'];
    15.     $email_body    = "You have received a new message. <br/>".
    16.                        "Here are the details: <br/><br/>";
    17.                        foreach ($_POST as $key => $value) {
    18.                            $email_body .= "<strong>" . $value['label'] . ": </strong> " . $value['val'] . "<br/><br/>";
    19.                        }
    20.  
    21.     $headers = "From:<$email_address>\n";
    22.     $headers.= "Content-Type:text/html; charset=UTF-8";
    23.     if($email_address != "") {
    24.         mail($to,$email_subject,$email_body,$headers);
    25.         return true;
    26.     }
    27. }
    28. ?>
    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  2. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.294
    Симпатии:
    216
    Адрес:
    Default city
    У вас проблемы с пониманием данных в массиве POST.
    Код (PHP):
    1. var_dump($_POST); 
    $_POST['to']['val']У вас разве в верстке формы есть инпут
    Код (PHP):
    1. <input type="hidden" name="to[val]" value="r.genesis.art@gmail.com">
    2.  
    Вроде нет, вот и обращайтесь к нормальному имени
    $_POST['to']
     
  3. Maratelo

    Maratelo Новичок

    С нами с:
    28 янв 2016
    Сообщения:
    8
    Симпатии:
    0
    Адрес:
    Москва
    Спасибо за помощь! Буду учить и разбираться.