За последние 24 часа нас посетили 17575 программистов и 1310 роботов. Сейчас ищут 1153 программиста ...

Вывод ошибок и сообщений после отправке данных на почту

Тема в разделе "Работа с почтой", создана пользователем Zzz_jameson_zzZ, 11 авг 2013.

  1. Zzz_jameson_zzZ

    Zzz_jameson_zzZ Новичок

    С нами с:
    11 авг 2013
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте, помогите, пожалуйста со скриптом.
    Есть код:

    <?php
    function show_form()
    {
    ?>
    <form action="" method=post>
    <br /><input type="text" value="E-mail" name="email" size="40">
    <br /><input type="text" value="Тема" name="title" size="40">
    <br /><textarea rows="10" name="mess" cols="30">Main</textarea>
    <br /><input type="submit" name="submit" value="Click me!"></input>

    </form> <?
    }

    function complete_mail() {
    $_POST['title'] = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
    $_POST['mess'] = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
    $_POST['name'] = substr(htmlspecialchars(trim($_POST['name'])), 0, 30);
    $_POST['tel'] = substr(htmlspecialchars(trim($_POST['tel'])), 0, 30);
    $_POST['email'] = substr(htmlspecialchars(trim($_POST['email'])), 0, 50);
    if(empty($_POST['title']))
    output_err(0);
    if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email']))
    output_err(1);

    if(empty($_POST['mess']))
    output_err(2);
    $mess = '
    Тема сообщения: '.$_POST['title'].'
    Контактный email: '.$_POST['email'].'
    '.$_POST['mess'];
    $to = , $mess, "From:".$from);
    echo 'Спасибо! Ваше письмо отправлено.';
    }

    function output_err($num)
    {
    $err[0] = 'ОШИБКА! Не указана тема!';
    $err[1] = 'ОШИБКА! Неверно введен e-mail.';
    $err[2] = 'ОШИБКА! Не введено сообщение.';
    echo '<p>'.$err[$num].'</p>';
    show_form();
    exit();
    }

    if (!empty($_POST['submit'])) complete_mail();
    else show_form();
    ?>


    Если данные в формах введены корректно, то сайт обновляется полностью и выводится сообщение о том, что письмо отправлено.Если одна из форм заполнена некорректно, то сайт тоже обновляется, но не полностью и выводится сообщение об ошибке, что одно из полей заполнено неправильно. Помогите мне реализовать валидацию форм на PHP в режиме реального времени (то есть, когда я неправильно заполнил одно из полей, сообщение об ошибке выводится сразу же,а не после обновления страницы) . Если возможно, хотелось бы провернуть такую же процедуру и с выводом сообщения об успешной отправки письма. Заранее спасибо.
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Javascript знаешь?
     
  3. Zzz_jameson_zzZ

    Zzz_jameson_zzZ Новичок

    С нами с:
    11 авг 2013
    Сообщения:
    3
    Симпатии:
    0
    Намек ясен.Еще один вопрос - можете подсказать, как указывать кодировку отправляемого?
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Кодировку при отправки почты?

    Посмотри мануал по этой функции там все есть.
    php.net/manual/en/function.mail.php
     
  5. Zzz_jameson_zzZ

    Zzz_jameson_zzZ Новичок

    С нами с:
    11 авг 2013
    Сообщения:
    3
    Симпатии:
    0
    Спасибо.
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    заголовки надо.