За последние 24 часа нас посетили 14952 программиста и 1768 роботов. Сейчас ищут 1367 программистов ...

PHP не посылает письмо....

Тема в разделе "Работа с почтой", создана пользователем xapoh, 5 фев 2014.

  1. xapoh

    xapoh Новичок

    С нами с:
    1 фев 2014
    Сообщения:
    5
    Симпатии:
    0
    не разбираюсь в этом языке.... ранее он работал, после небольшой корректировки -перестал....
    по этой ссылке http://gfile.ru/a43O6
    или вся страница
    <html http://www.fortuna-mania.ru/ofz.php>
    <head>
    <title>Оформить заказ</title>
    <link rel="stylesheet" type="text/css" href="ro2.css">
    </head>
    <body style="background: no">
    <br>&dArr; &dArr; &dArr; ОФОРМИТЬ ЗАКАЗ &dArr; &dArr; &dArr;<br><br>
    <?php
    function show_form()
    {
    ?>
    <form action="" method=post>
    <table>
    <tr>
    <td align="center" valign="top" width="310"><br>
    Телефон для связи<br><input type="text" name="tel" size="30"><br><br>
    Марка авто<br><input type=text name="name" size=30><br><br></td>
    <td align="center" valign="top" width="310"><br>
    Номер двигателя<br><input type=text name="dvs" size=30><br><br>
    Номер кузова<br><input type=text name="kuz" size=30><br><br></td></tr>
    <tr>
    <td align="center" valign="top" colspan="2">
    Деталь, узел, агрегат<br><textarea rows=3 name="mess" cols=60></textarea><br><br>
    <input type="submit" value="Отправить" name="submit" class="knopa" style="cursor: pointer"></font>
    <br><br></td></tr></table>
    </form>
    <?
    }

    function complete_mail() {
    // $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк
    // htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались
    // substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов
    // Для переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
    $_POST['mess'] = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000);
    $_POST['name'] = substr(htmlspecialchars(trim($_POST['name'])), 0, 30);
    $_POST['kuz'] = substr(htmlspecialchars(trim($_POST['kuz'])), 0, 30);
    $_POST['tel'] = substr(htmlspecialchars(trim($_POST['tel'])), 0, 30);
    $_POST['dvs'] = substr(htmlspecialchars(trim($_POST['tel'])), 0, 30);
    // если не заполнено поле "Имя" - показываем ошибку 0
    if (empty($_POST['name']))
    output_err(0);
    // если не заполнено поле "Деталь..." - показываем ошибку 1
    if(empty($_POST['mess']))
    output_err(1);
    // если не заполнено поле "Тел" - показываем ошибку 2
    if(empty($_POST['tel']))
    output_err(2);
    // если не заполнено поле "Кузов" - показываем ошибку 3
    if(empty($_POST['kuz']))
    output_err(3);
    // если не заполнено поле "Двигатель" - показываем ошибку 4
    if(empty($_POST['dvs']))
    output_err(4);
    // создаем наше сообщение
    $mess = '
    Имя отправителя:'.$_POST['tel'].'
    '.$_POST['name'];$_POST['kuz'];$_POST['dvs'];$_POST['mess'];
    // $to - кому отправляем
    $to = ."";

    mail($to, $from, $mess, 'From:'.$from. "\r\n" . 'MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251\r\n\r\n');
    echo 'Ваш заказ принят! С Вами свяжутся в ближайшее время.';
    }

    function output_err($num)
    {
    $err[0] = 'Введите Марку-производитель';
    $err[1] = 'Укажите что Вы ищете';
    $err[2] = 'Введите телефон';
    $err[3] = 'Введите номер кузова. (Желательно полный)';
    $err[4] = 'Введите номер двигателя';
    echo '<p>'.$err[$num].'</p>';
    show_form();
    exit();
    }

    if (!empty($_POST['submit'])) complete_mail();
    else show_form();
    ?>
    <br>
    </body>
    </html>
    <!--mail($to, $_POST['name'], $mess, 'From:'.$from. "\r\n" . 'MIME-Version: 1.0\r\nContent-type: text/html; charset=windows-1251\r\n\r\n');-->
    xapoh

    Сообщения: 4
    Зарегистрирован: Сб фев 01, 2014 22:53
     
  2. phpjunior

    phpjunior Новичок

    С нами с:
    23 дек 2013
    Сообщения:
    73
    Симпатии:
    0
    Адрес:
    Барнаул
    Почему функция mail() закоментированна? или она выполняеться в другом файле php?
    Если в другом то следует указать форме где она выполняеться
    Вот пример
    Код (Text):
    1.  
    2. <form action="<!--здесь url файла в котором выполняеться приём $_post-->" method="post">// Можно использовать и другие методы передачи данных
    3. <input name="<!Тут оригинальный идентификатор для этого поля допустим я укажу>NAME" type="text">//Можно использовать другие типы полей
    а теперь в файле в котором выполняеться приём $_post (Указали в action)
    принимаем значения переданные POST методом
    Код (Text):
    1.  
    2. //$_POST['NAME'] Идентификатор поля которое мы указали раннее
    3. $to ('mail@mail.ru');
    4. $text ('Текст письма');
    5. $from ('mail@life.com');
    6. mail($to, $... и.т.д)
    Советовал бы вам почитать документацию или нанять программиста