За последние 24 часа нас посетили 110026 программистов и 7670 роботов. Сейчас ищут 2448 программистов ...

Помогите найти ошибку юному хацкеру

Тема в разделе "PHP для новичков", создана пользователем Win_lite, 27 мар 2018.

  1. Win_lite

    Win_lite Новичок

    С нами с:
    27 мар 2018
    Сообщения:
    5
    Симпатии:
    0
    Нашел готовую форму. Переписал ее под себя и прикрутил к лендингу, форма отправляет на почту все строки, но 4 с них приходят пустые(фото внизу). Помогите настроить форму, что бы она функционировала полноценно. Ознакомится полностью можно на фото, могу сбросить исходники. Буде очень благодарен)
     

    Вложения:

    • foto_work.png
      foto_work.png
      Размер файла:
      9,1 КБ
      Просмотров:
      14
    • foto_work2.png
      foto_work2.png
      Размер файла:
      69,9 КБ
      Просмотров:
      16
    • foto_work3.png
      foto_work3.png
      Размер файла:
      37,6 КБ
      Просмотров:
      13
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Тут же не сайт знакомств, чтобы по фото знакомиться. Выкладывайте код в текстовом виде, оформив его соответствующим образом:
    [​IMG]
    P.S. Какие-то загадочные у вас типы текстовых полей.
     
    Fell-x27 нравится это.
  3. Win_lite

    Win_lite Новичок

    С нами с:
    27 мар 2018
    Сообщения:
    5
    Симпатии:
    0

    PHP:
    1. <?php
    2.  
    3. $sendto = "моя почта@gmail.com"; // почта, на которую будет приходить письмо
    4. $username = $_POST['name'];   // сохраняем в переменную данные полученные из поля c именем
    5. $usertel = $_POST['telephone']; // сохраняем в переменную данные полученные из поля c телефонным номером
    6. $usertown = $_POST['town']; // сохраняем в переменную данные полученные из поля c городом
    7. $userdelivery = $_POST['delivery']; // сохраняем в переменную данные полученные из поля c доставкой
    8. $usermail = $_POST['email']; // сохраняем в переменную данные полученные из поля c адресом электронной почты
    9. $usercomment = $_POST['comment']; // сохраняем в переменную данные полученные из поля c комментарием
    10. $userproductName = $_POST['productName'];
    11. // Формирование заголовка письма
    12. $subject  = "Новый заказ";
    13. $headers  = "From: " . strip_tags($usermail) . "\r\n";
    14. $headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
    15. $headers .= "MIME-Version: 1.0\r\n";
    16. $headers .= "Content-Type: text/html;charset=utf-8 \r\n";
    17.  
    18. // Формирование тела письма
    19. $msg  = "<html><body style='font-family:Arial,sans-serif;'>";
    20. $msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Cообщение с сайта</h2>\r\n";
    21. $msg .= "<p><strong>Покупатель:</strong> ".$username."</p>\r\n";
    22. $msg .= "<p><strong>Телефон:</strong> ".$usertel."</p>\r\n";
    23. $msg .= "<p><strong>Город:</strong> ".$usertown."</p>\r\n";
    24. $msg .= "<p><strong>Отделение НП:</strong> ".$userdelivery."</p>\r\n";
    25. $msg .= "<p><strong>Почта:</strong> ".$usermail."</p>\r\n";
    26. $msg .= "<p><strong>Комментарий:</strong> ".$usercomment."</p>\r\n";
    27. $msg .= "<p><strong>Товар:</strong> ".$userproductName."</p>\r\n";
    28. $msg .= "</body></html>";
    29.  
    30. // отправка сообщения
    31. if(@mail($sendto, $subject, $msg, $headers)) {
    32.     echo "<center><img src='images/spasibo.png'></center>";
    33. } else {
    34.     echo "<center><img src='images/ne-otpravleno.png'></center>";
    35. }
    36.  
    37. ?>


    HTML:
    1. <div>  
    2.    <div class="main">
    3.       <h3>Оформление заказа</h3>
    4.       <p>Оставьте ваши контактные данные и наш менеджер<br/>
    5. свяжется с вами на протяжении дня</p>
    6.      
    7.        <section id="cta" class="main special" data-section="menu">
    8.         <form id="application" action="application.php" method="POST" name="application">
    9.             <input name="name" id="applicationName" maxlength="40" placeholder="Введите ваше имя фамилию*" required />
    10.             <input name="telephone" type="telephone" id="applicationTelephone" maxlength="15" placeholder="Введите ваш телефон*" required />
    11.             <input name="town" type="town" id="applicationTown" maxlength="40" placeholder="Введите ваш город*" required />
    12.             <input name="delivery" type="delivery" id="applicationDelivery" maxlength="40" placeholder="Отделение новой почты*" required/>
    13.             <input name="email" type="email" id="applicationEmail" maxlength="25" placeholder="Введите ваш E-mail" />
    14.             <input name="comment" type="comment" id="applicationComment" maxlength="200" placeholder="Комментарий"/>
    15.             <button class="applicationButton" type="submit" form="application"> Заказать </button>
    16.         </form>
    17.     </section>  
    18.     </div>
    19.     </div>
     
  4. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Сделай var_dump($_POST) в начале php и посмотри что приходит а что нет и под каким именем
     
  5. Win_lite

    Win_lite Новичок

    С нами с:
    27 мар 2018
    Сообщения:
    5
    Симпатии:
    0
    При добавлении получилось следующее - Parse error: syntax error, unexpected '$sendto' (T_VARIABLE) in /home/thesopil/thesopilka.space/www/application.php on line 5

    PHP:
    1. <?php
    2.  
    3. var_dump($_POST)
    4.  
    5. $sendto = "моя почта@gmail.com"; // почта, на которую будет приходить письмо
    6. $username = $_POST['name'];   // сохраняем в переменную данные полученные из поля c именем
    7. $usertel = $_POST['telephone']; // сохраняем в переменную данные полученные из поля c телефонным номером
    8. $usertown = $_POST['town']; // сохраняем в переменную данные полученные из поля c городом
    9. $userdelivery = $_POST['delivery']; // сохраняем в переменную данные полученные из поля c доставкой
    10. $usermail = $_POST['email']; // сохраняем в переменную данные полученные из поля c адресом электронной почты
    11. $usercomment = $_POST['comment']; // сохраняем в переменную данные полученные из поля c комментарием
    12. $userproductName = $_POST['productName'];
    13. // Формирование заголовка письма
    14. $subject  = "Новый заказ";
    15. $headers  = "From: " . strip_tags($usermail) . "\r\n";
    16. $headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
    17. $headers .= "MIME-Version: 1.0\r\n";
    18. $headers .= "Content-Type: text/html;charset=utf-8 \r\n";
    19.  
    20. // Формирование тела письма
    21. $msg  = "<html><body style='font-family:Arial,sans-serif;'>";
    22. $msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Cообщение с сайта</h2>\r\n";
    23. $msg .= "<p><strong>Покупатель:</strong> ".$username."</p>\r\n";
    24. $msg .= "<p><strong>Телефон:</strong> ".$usertel."</p>\r\n";
    25. $msg .= "<p><strong>Город:</strong> ".$usertown."</p>\r\n";
    26. $msg .= "<p><strong>Отделение НП:</strong> ".$userdelivery."</p>\r\n";
    27. $msg .= "<p><strong>Почта:</strong> ".$usermail."</p>\r\n";
    28. $msg .= "<p><strong>Комментарий:</strong> ".$usercomment."</p>\r\n";
    29. $msg .= "<p><strong>Товар:</strong> ".$userproductName."</p>\r\n";
    30. $msg .= "</body></html>";
    31.  
    32. // отправка сообщения
    33. if(@mail($sendto, $subject, $msg, $headers)) {
    34.     echo "<center><img src='images/spasibo.png'></center>";
    35. } else {
    36.     echo "<center><img src='images/ne-otpravleno.png'></center>";
    37. }
    38.  
    39. ?>
     
    #5 Win_lite, 27 мар 2018
    Последнее редактирование модератором: 27 мар 2018
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
  7. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    @Win_lite, у вас отсутствует в форме поле name="productName". Возможно, что вам подойдёт скрытое поле.
    --- Добавлено ---
    Для большей ясности, добавьте в форму следующий код и протестируйте
    HTML:
    1. <input name="productName" type="hidden" value="Vodka">
    Вопрос только в том, как вам туда записывать название товара. Это уже вам должно быть видней
     
  8. Win_lite

    Win_lite Новичок

    С нами с:
    27 мар 2018
    Сообщения:
    5
    Симпатии:
    0
    получилось примерно следующее
    array(3) { ["name"]=> string(9) "test test" ["telephone"]=> string(12) "380930000000" ["town"]=> string(8) "тест" }
     
  9. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    ну больше ничего не прислали, значит
     
  10. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Win_lite
    Юный хакер это плохо. Причина в том что хакера ломают а программисты создают. Думаю ты хотел выразится по другому :) юный программист например :)
     
  11. maksivlev

    maksivlev Новичок

    С нами с:
    2 мар 2018
    Сообщения:
    20
    Симпатии:
    0
    значение слова Хакер крайне извратили.
    в первоначальном смысле хакером, называли человека который быстро пишет код.
     
  12. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Кстати вот таких вот type не бывает. Это все text
    HTML:
    1. type="town"
     
  13. Win_lite

    Win_lite Новичок

    С нами с:
    27 мар 2018
    Сообщения:
    5
    Симпатии:
    0
    Всем спасибо. Проблема решилась сама, все заработало. Кажется что то с хостингом было.