Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Форма отправки заказ
Форумы портала PHP.SU » » Вопросы новичков » Форма отправки заказ

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

1. InSolo - 21 Октября, 2011 - 18:26:58 - перейти к сообщению
Добрый день, я совсем новичок в PHP, разбираюсь с формой отправки заказа, форма предельно проста, переделана из формы отправки сообщения с сайта, однако -не пашет.
Вот код самой формы:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <form action = "mail.php" method = "post">
  2. <table width="281 px" border="0" cellpadding="10" align="left" valign="bottom">
  3. <tr valign="bottom" align="left">
  4. <td>GlacierWhiteCorian<input type="radio" name="asset" value="1800" checked></td>
  5. <td>ButterCreamCorian<input type="radio" name="asset" value="1200"></td>
  6. <td>PeachCorian<input type="radio" name="asset" value="1400"></td>
  7. <td>Pearl<br>Gray<br>Corian<br><input type="radio" name="asset" value="1100"></td>
  8. <td width="800 px" ></td>
  9. Форма отправки заказа
  10. <b>Имя:</b><br>
  11. <input type="text" name="name" size="25" maxlength="25" value=""><br>
  12. <b>Телефон:</b><br>
  13. <input type="text" name="tel" size="25" maxlength="45" value=""><br>
  14. <b>Email:</b><br>
  15. <input type="text" name="email" size="25" maxlength="45" value=""><br>
  16. <b>Количество:</b><br>
  17. <input type="text" name="nom" size="10" maxlength="45" value=""><br>
  18. <td>
  19. </td>
  20. <td>
  21. <b>Комментарии:</b><br>
  22. <textarea name="mess" rows="3" cols="40"></textarea><br>
  23. <input type="submit" value="Submit!">
  24. </td>
  25. </tr>
  26. <tr>
  27. <td colspan="4" valign="top">
  28. <b>Выберите свой цвет</b>
  29. </form>


код обработчика:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
  5. <title>Обратная связь</title>
  6. </head>
  7. <body>
  8. <?php
  9. $asset = (isset($_POST['asset'])) ? $_POST['asset'] : '';
  10. $name = (isset($_POST['name'])) ? $_POST['name'] : '';
  11. $tel = (isset($_POST['tel'])) $_POST['tel'] : '';
  12. $email = (isset($_POST['email'])) $_POST['email'] : '';
  13. $mess = (isset($_POST['mess'])) $_POST['mess'] : '';
  14. {
  15. echo "<b>Не указано имя!</b><br>";
  16. echo "<a href=new_zakaz01.html>Вернуться к заполнению формы</a>";
  17.  
  18. if (empty($tel))
  19. {
  20. echo "<b>Не указан телефон!</b><br>";
  21. echo "<a href=new_zakaz01.html>Вернуться к заполнению формы</a>";
  22.  
  23. }
  24. if (empty($email))
  25. {
  26. echo "<b>Не указан e-mail!</b><br>";
  27. echo "<a href=new_zakaz01.html>Вернуться к заполнению формы</a>";
  28. }
  29. if (empty($mess))
  30. {
  31. echo "<b>Сообщение не написано!</b><br>";
  32. echo "<a href=new_zakaz01.html>Вернуться к заполнению формы</a>";
  33. }
  34. $to = "мое@мыло.ru";
  35. $headers = "Content-type: text/plain; charset = windows-1251";
  36. $subject = "Сообщение с вашего сайта";
  37. $message = "цвет: $asset  \nИмя пославшего: $name \nтелефон: $tel \nЭлектронный адрес: $email \nСообщение: $mess";
  38. $send = mail ($to, $subject, $message, $headers);
  39. if ($send == 'true')
  40. {
  41. echo "<b>Спасибо за отправку вашего сообщения!</b><br>";
  42. echo "<a href=new_zakaz01.html>Нажмите,</a> чтобы вернуться назад";
  43. }
  44. else
  45. {
  46. echo "<br><b>Ошибка. Сообщение не отправлено!</b><br>";
  47. }
  48. ?>
  49. </body>
  50. </html>


До вставки проверки телефона и добавления в строку месседж переменных "tel" и "asset" форма хотябы работала (сообщение о том что данные оправлены было, правда письма так и не дошли), после внесении исправлений не пашет. Кажет белую страницу и все.
Помогите, пожалуйста, найти ошибку.
2. morph-x - 22 Октября, 2011 - 08:48:37 - перейти к сообщению
В 41-й строке PHP-кода добавьте $message перед знаком равно, вот так:
PHP:
скопировать код в буфер обмена
  1. $message = "Имя пославшего: $name \nтелефон: $tel \nЭлектронный адрес: $email \nСообщение: $mess \nцвет: $asset";

Но судя по количеству ошибок в HTML, новичок вы не только в PHP. Так что изучите сначала HTML, а затем уже делайте сайты, а пока вам еще рано (тем более с PHP). У вас половина тегов не закрыты, как ваш код вообще должен работать?
3. DeepVarvar - 22 Октября, 2011 - 08:50:44 - перейти к сообщению
InSolo пишет:
не пашет
error_reporting(E_ALL); и всю жизнь с этим жить, как хотите - но чтоб пых даже не заикнулся.
4. Мелкий - 22 Октября, 2011 - 12:21:28 - перейти к сообщению
DeepVarvar пишет:
error_reporting(E_ALL); и всю жизнь с этим жить

Лучше E_ALL | E_STRICT
5. Данил_123 - 22 Октября, 2011 - 14:22:51 - перейти к сообщению
для проверки отправлено или нет можно присвоить к переменой и проверить ответ прийдет
6. InSolo - 24 Октября, 2011 - 08:41:48 - перейти к сообщению
morph-x пишет:
В 41-й строке PHP-кода добавьте $message перед знаком равно, вот так:
PHP:
скопировать код в буфер обмена
  1. $message = "Имя пославшего: $name \nтелефон: $tel \nЭлектронный адрес: $email \nСообщение: $mess \nцвет: $asset";

Но судя по количеству ошибок в HTML, новичок вы не только в PHP. Так что изучите сначала HTML, а затем уже делайте сайты, а пока вам еще рано (тем более с PHP). У вас половина тегов не закрыты, как ваш код вообще должен работать?


Они не незакрыты, они не до конца вычищены, времени мало было)
Сспасибо большое.
(Добавление)
morph-x пишет:
В 41-й строке PHP-кода добавьте $message перед знаком равно, вот так:
PHP:
скопировать код в буфер обмена
  1. $message = "Имя пославшего: $name \nтелефон: $tel \nЭлектронный адрес: $email \nСообщение: $mess \nцвет: $asset";


Исправлето, все равно кажет большую пролетарскую фигу в окошко.

 

Powered by ExBB FM 1.0 RC1