Форумы портала PHP.SU » » Если скрипт не работает » Что делать???

Страниц (1): [1]
 

1. gbroot - 20 Августа, 2017 - 13:27:42 - перейти к сообщению
Решил запустить сервис перевозок, написал лендинг, html/css, появилась необходимость в форме бронирования мест, что бы данные приходили на почту, написал форму, пришло время скрипта для отправки сообщений, в php сам вообще не "Бум-Бум", нашел в интернете генератор почтовой формы для php, сгенерировал и добавило пару своих строк. Залил все на хост, попытался протестировать форму, а она выдает вот такую ошибку после нажатия на кнопку отправить

Ошибка Parse error: syntax error, unexpected 'From' (T_STRING)

Ошибка в 13 строке. Вот код формы, посмотрите может подскажете как исправить. Буду очень благодарен!

PHP код отправки сообщений
PHP:
скопировать код в буфер обмена
  1. <?
  2. $name = $_POST["name"];
  3. $email = $_POST["email"];
  4. $puti = $_POST["puti"];
  5. $kolvo = $_POST["kolvo"];
  6. $phone = $_POST["phone"];
  7. $otk = $_POST["otk"];
  8. $kud = $_POST["kud"];
  9. $br = "gmail.com";
  10.  
  11. mail("perevozki.bilet@$br", "письмо с сайта", " от $name
  12. email-отправителя: $email
  13. "From: <$email>\nContent-type: text/plain; charset=utf-8");
  14. Header("Content-type: text/html");
  15.  
  16. echo "<p/><div align=center>" . $name . ", Ваше письмо отправлено успешно.<p/><a href='JavaScript:history.back()'>НАЗАД</a> "
  17. ?>


Html код формы
CODE (html):
скопировать код в буфер обмена
  1. <form action="email.php" name=mailer method=POST>
  2. <div class="fields-grid">
  3. <div class="styled-input agile-styled-input-top">
  4. <input type=text name=name" required="">
  5. <label>ФИО</label>
  6. <span></span>
  7. </div>
  8. <div class="styled-input agile-styled-input-top">
  9. <input type=text name=phone required="">
  10. <label>Телефон</label>
  11. <span></span>
  12. </div>
  13. <div class="styled-input agile-styled-input-top">
  14. <input type=text name=email required="">
  15. <label>Email</label>
  16. <span></span>
  17. </div>
  18. <div class="styled-input agile-styled-input-top">
  19. <input type=text name=kolvo required="">
  20. <label>Количество бронируемых мест</label>
  21. <span></span>
  22. </div><center>
  23. <div class="styled-input agile-styled-input-top">
  24. <input type=text name=otk required="">
  25. <label>Откуда едете?</label>
  26. <span></span>
  27. </div>
  28. <div class="styled-input agile-styled-input-top">
  29. <input type=text name=kud required="">
  30. <label>Куда едете?</label>
  31. <span></span>
  32. </div>
  33. </center>
  34. <div class="clearfix"> </div>
  35. </div>
  36. <center><input type=submit value="Oтправить"></center>
  37. </form>
2. teleoperator27 - 20 Августа, 2017 - 13:59:23 - перейти к сообщению
вот это
CODE (htmlphp):
скопировать код в буфер обмена
  1. mail("perevozki.bilet@$br", "письмо с сайта", " от $name
  2. email-отправителя: $email
  3. "From: <$email>\nContent-type: text/plain; charset=utf-8");


замени на это

CODE (htmlphp):
скопировать код в буфер обмена
  1. mail("perevozki.bilet@$gmail.com", "письмо с сайта", " от ".$name." email-отправителя: ".$email." From: < ".$email." >\nContent-type: text/plain; charset=utf-8");
3. gbroot - 20 Августа, 2017 - 14:21:08 - перейти к сообщению
Спасибо, ошибок больше нет. Но сообщения на почту не приходят, написал в поддержку хостинга, может там подскажут
4. teleoperator27 - 20 Августа, 2017 - 14:56:00 - перейти к сообщению
скорей всего тупо в спам валятся
5. gbroot - 20 Августа, 2017 - 15:05:42 - перейти к сообщению
Не, спам первым делом проверил. Там нет ничего
6. teleoperator27 - 20 Августа, 2017 - 15:23:43 - перейти к сообщению
НУ видно же, что в емэйле "кому" ошибка.

убери все это, вот так правильно

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $name = $_POST["name"];
  3. $email = $_POST["email"];
  4. $puti = $_POST["puti"];
  5. $kolvo = $_POST["kolvo"];
  6. $phone = $_POST["phone"];
  7. $otk = $_POST["otk"];
  8. $kud = $_POST["kud"];
  9. //тут должна быть валидация принятых данных
  10. $to      = "perevozki.bilet@gmail.com";
  11. $subject = "письмо с сайта";
  12. $message = " от ".$name." email-отправителя: ".$email;
  13. $headers = "From: 'noreply@'" . $_SERVER['SERVER_NAME']. " \r\n" .
  14.     "Reply-To: ".$email." \r\n";    
  15. mail($to, $subject, $message, $headers);
7. gbroot - 20 Августа, 2017 - 16:40:03 - перейти к сообщению
teleoperator27
Про валидацию принятых данных можно подробнее? А то я вообще не шарю как это должно работать.
Плюс вот ответ поддержки "в скрипте, отвечающем за отправку писем, должен обязательно быть заголовок
PHP:
скопировать код в буфер обмена
  1. From:
  2. $headers = 'From: happyuser@zzz.com.ua' . "\r\n"
.
где ser@happy.zzz.com.ua - это почтовый ящик, с которого отправляются письма."
Почта созданная на хосте с перенаправлением на gmail вот bilet@perevoz.kl.com.ua
Плюс в форме которую ты написал нет перенаправления на "Ваше сообщение отправлено успешно.
В общем если уж на то пошло, можешь добавить в скрипт "Ваше сообщение успешно отправлено" и ту строку что прислала поддержка. Буду очень благодарен!!!
8. teleoperator27 - 20 Августа, 2017 - 18:29:39 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $ret = mail($to, $subject, $message, $headers);
  2. if($ret){
  3. echo 'Письмо отправлено';
  4. }else{
  5. echo 'Письмо не отправлено';
  6. }
Куда вставить сам догадаешься?

Валидация это проверка формы. Если поля не заполнены или например, проверка корректности заполнения емэйла.
9. gbroot - 20 Августа, 2017 - 18:38:04 - перейти к сообщению
Да, понял. СПАСИБО!
Что бы в репутацию добавить тебе спасибо пишет что не хватает сообщений
10. teleoperator27 - 20 Августа, 2017 - 18:54:56 - перейти к сообщению
gbroot пишет:
Что бы в репутацию добавить тебе спасибо пишет что не хватает сообщений
пофиг
11. MouseZver - 20 Августа, 2017 - 21:33:29 - перейти к сообщению
Как правильно составить валидацию и отправку емайла
https://github[dot]com/MouseZver/My-[dot][dot][dot]/64708/index.php

 

Powered by ExBB FM 1.0 RC1