За последние 24 часа нас посетили 24127 программистов и 1528 роботов. Сейчас ищут 1674 программиста ...

Помогите, пожалуйста с обработчиком!

Тема в разделе "Работа с почтой", создана пользователем NickAlvares, 9 мар 2012.

  1. NickAlvares

    NickAlvares Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    9
    Симпатии:
    0
    Ребят! Помогите, пожалуйста! Проблема следующая - я написал форму заказа, под нее обработчик, который должен отправлять письмо с данными. Все делал по инструкции, но когда проверяю на своем сайте при переходе на обработчик выдает ошибку 500.

    Вот код формы:
    Код (Text):
    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=utf-8" />
    5. <title>Заказ</title>
    6. </head>
    7. <body>
    8. <script language="JavaScript" type="text/javascript">
    9. <!-- JavaScript
    10. function pr(form)
    11. {
    12. //Если не заполнено поле
    13.  if((form.familia.value=="")||(form.name.value=="")||(form.otchestvo.value=="")||(form.email.value=="")||(form.phone.value=="")||(form.adress.value=="")||(form.post-index.value==""))
    14.  {
    15. //Выводим грозное сообщение
    16.  alert("Внимание! Все поля должны бать заполнены!");
    17. //Возвращаем ложь
    18.  return false;
    19.  }
    20. //Если заполнены все поля
    21.  else
    22. //Возвращаем правду
    23.  return true;
    24. }
    25. // - JavaScript - -->
    26. </script>
    27. <center><table align="center"><center>
    28. <table width="618" border="3" align="center" bordercolor="#FF9933" bgcolor="#FFFFFF">
    29.     <tr>
    30.       <td><form action="send.php" method="post" enctype="multipart/form-data" name="order" onSubmit="return pr(order)">
    31.         <div align="center"><br>
    32.           Введите Вашу Фамилию: <br>
    33.           <input type="text" name="familia" size="40">
    34.           <br>
    35.           <br>
    36.           Введите Ваше Имя:<br>
    37.           <input type="text" name="name" size="40">
    38.           <br>
    39.           <br>
    40.           Введите Ваше Отчество:<br>
    41.           <input type="text" name="otchestvo" size="40">
    42.           <br>
    43.           <br>
    44.           Введите Ваш e-mail:<br>
    45.           <input type="text" name="email" size="40">
    46.           <br>
    47.           <br>
    48.           Ваш контактный телефон:<br>
    49.           <input type="text" name="phone" size="40">
    50.           <br>
    51.           <br>
    52.           Введите полный адрес доставки (город, улица, дом...):<br>
    53.           <input type="text" name="adress" size="100">
    54.           <br>
    55.           <br>
    56.           Введите Ваш почтовый индекс:<br>
    57.           <input type="text" name="post-index" size="40">
    58.           <br>
    59.         </div>
    60.         <p align="center">
    61.           <center><input type="submit" value="Заказать!">
    62.         </p>
    63.         <p align="center">Внимание! Все поля обязательны для заполнения! </p>
    64.         <p align="center"/>    
    65.       </form></td>
    66.     </tr>
    67. </table>
    68.  
    69.  
    70. </body>
    71. </html>
    а вот код обработчика send.php:
    Код (Text):
    1. <?php
    2. if (isset($_POST['familia'])) $familia = $_POST['familia'];
    3. if (isset($_POST['name'])) $name = $_POST['name'];
    4. if (isset($_POST['otchestvo'])) $otchestvo = $_POST['otchestvo'];
    5. if (isset($_POST['email'])) $email = $_POST['email'];
    6. if (isset($_POST['phone'])) $phone = $_POST['phone'];
    7. if (isset($_POST['adress'])) $adress = $_POST['adress'];
    8. if (isset($_POST['post_index'])) $post_index = $_POST['post_index'];
    9.  
    10. $address = 'nickalvares@yandex.ru';
    11. $sub = "Заказ с моего сайта";
    12. $mes = "Заказчик назвался: $familia $name $otchestvo \nУказал свой e-mail: $email \nДоставка в: $adress \nИндекс: $post_index \nКонтактный телефон: $phone";
    13. $sendmail = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");
    14. if ($sendmail == 'true')
    15. {
    16. echo Спасибо! Ваш заказ принят!;
    17. }
    18. else
    19. {
    20. echo Извините, но вы заполнили не все поля! Пожалуйста, вернитесь и заполните форму правильно!
    21. }
    22. ?>
     
  2. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    а с какой радости у теб send.php объявлен как xml?
     
  3. NickAlvares

    NickAlvares Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    9
    Симпатии:
    0
    ой, это я не то кинул. там без этой строки. но он тоже не работает((
     
  4. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    из значения переменной пост вычесть значение константы индекс
    поэтому и 500. очевидная же ошибка. головой не думаем, журналы не читаем, ога...
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    И результату операции вычитания присвоить значение $_POST['post_index']
    :)

    Ganzal опередил
     
  6. NickAlvares

    NickAlvares Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    9
    Симпатии:
    0
    извините, я первый раз с php сталкиваюсь...
    все поправил. но до сих пор ругается(((
     
  7. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    А как теперь ругается? А
    Код (PHP):
    1. $e-mail
    тоже исправил?

    Добавлено спустя 1 минуту 6 секунд:
    И в JavaScript такое тоже не правильно:
    Код (Text):
    1. form.e-mail.value==""
     
  8. NickAlvares

    NickAlvares Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    9
    Симпатии:
    0
    тьфу ты блин! хм... поправил но всё равно выдает ошибку...

    обработчик слегка переписал
     
  9. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    И какую ошибку выдаёт теперь, на что ругается?
     
  10. NickAlvares

    NickAlvares Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    9
    Симпатии:
    0
    всё ту же(( 500
     
  11. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а текст-то какой дает?))))) журналы!!! читаем журналы!!!
     
  12. NickAlvares

    NickAlvares Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    9
    Симпатии:
    0
    подскажи какие, пожалуйста, если не сложно?
     
  13. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    мурзилку, блин...
    журнал ошибок веб-сервера
     
  14. NickAlvares

    NickAlvares Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    9
    Симпатии:
    0
    ну прочитал я его, и смысл? у меня сайт на CMS WordPress написан, а не Апач.
     
  15. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а... ну тогда конечно, это вам в техподдержку вордпресса тогда нужно слать жалобы...
    вы наверное даже и не подозревали, что ваш вордпресс писан на неком языке программирования, который обрабатывается и выполняется интерпретатором этого языка. если запрос идет из браузера пользователя то в 99.9% прослойкой между вашим скриптом и браузером является веб-сервер. и если что-то не так происходит на стадии выполнения - интерпретатор складирует ошибки в STDERR. но в случае с вэб-сервером этот поток чаще всего перехватывается и складируется в журналы ошибок веб-сервера.

    помидор красный, а у трактора дверь открывается. понимаете?

    ошибки в журнале веб-сервера какие?
     
  16. NickAlvares

    NickAlvares Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    9
    Симпатии:
    0
    знать бы еще где их найти
     
  17. NickAlvares

    NickAlvares Активный пользователь

    С нами с:
    8 мар 2012
    Сообщения:
    9
    Симпатии:
    0
    урааа!! я нашел ошибку!! спасибо тебе Ganzal!! без твоей помощи я не обошелся бы!))))
     
  18. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
  19. PowerVetall

    PowerVetall Активный пользователь

    С нами с:
    11 июн 2012
    Сообщения:
    1
    Симпатии:
    0
    Адрес:
    Москва
    Огромное спасибо за эту тему!!!
    Давно копаюсь, но редко встречал работающие коды. но здесь всё встало на места.
    По теме - после оператора echo надо ставить кавычки и потом закрывать их, да и ещё в конце поставить (;). Выводимое сообщение ограничивается двойными кавычками("), а если нужно внутри прописать какие-то атрибуты, то это делается с помощью одинарных кавычек('), например:

    echo "сообщение отправлено.<br />Нажмите <a href='index.php' title='вернуться на главную'>сюда</a>чтобы вернуться на главную.";