Генератор форм

Для веб-мастера

Реклама

Улучшаем обработчик формы обратной связи

Рейтинг:
Дата: 11 марта 2009 Просмотры 53934 Комментарии 42

Обновленный обработчик формы обратной связи >>>

Как-то я уже писал о том, как создать форму обратной связи на РНР. Ознакомиться со статьей можно здесь.

Сегодня я решил показать как ее можно усовершенствовать. А именно: добавить проверку на заполнение всех полей и правильность ввода email-адреса.

Мы будет изменять код самого обработчика send.php, который мы создали раньше. И выглядеть он должен следующим образом:

	<?php
if  (isset($_POST['name'])) {
    $name = $_POST['name']; 
    if ($name == '') unset($name);
}
if  (isset($_POST['email'])) {
    $email = $_POST['email']; 
    if ($email == '') unset($email);
}
if  (isset($_POST['message'])) {
    $message = $_POST['message']; 
    if ($message == '') unset($message);
}

/* Проверяем заполнены ли все поля */ 
if  (isset($name) && isset($email) && isset($message)) {

   /* Убираем все лишние пробелы и переносы строк, а также преобразуем  все теги HTML в  символы*/   
   $name =  htmlspecialchars(trim($name)); 
   $email =  htmlspecialchars(trim($email));
   $message =  htmlspecialchars(trim($message));

  /*  Проверяем правильность ввода email-адреса */ 
  if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i",  $email)){ 

     echo "Неправильный  формат e-mail адреса!";
  }
  else{

     /* Формируем сообщение */
     $address  = "email@example.ru";
     $sub  = "Сообщение с моего нового сайта!!!";
     $mes  = "Автор назвался: $name  \nОставил такой E-mail: $email \nСодержание письма: \n$message";

     /* Отправка  сообщения */ 
     $verify =  mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
     if  ($verify == 'true'){
        echo  "Сообщение отправлено!";
     }
     else {
        echo  "Сообщение не отправлено!";
     }
  }
} 
else{
  echo  "Вы заполнили не все поля!"; 
} 
?>

Хотелось бы добавить пару комментариев по проделанной работе.

Итак, в этой обработчике мы задействовали несколько новых функций:

isset() – проверяет существует ли переменная. Возвращает TRUE, если переменная существует; иначе FALSE.

preg_match() - выполняет подстановку регулярного выражения. Регулярные выражения это отдельная, довольно таки сложная тема, останавливаться на которой я не буду.

trim() - убираем все лишние пробелы и переносы строк. Думаю здесь все понятно.

htmlspecialchars() - конвертирует специальные символы в мнемоники HTML. Некоторые символы имеют в HTML специальное значение и должны быть представлены мнемониками HTML для сохранения своего значения. Эта функция возвращает строку с выполненной конвертацией. А именно:

  • '&' (амперсанд) становится '&amp;'
  • '"' (double quote) становится '&quot;' когда ENT_NOQUOTES не установлен
  • ''' (single quote) становится '&#039;', только когда установлен ENT_QUOTES.
  • '<' (less than) становится '&lt;'
  • '>' (greater than) становится '&gt;'

Если что-то не понятно, пишите в комментариях. Будем разбираться!

Также рекомендую посмотреть мой скрипт "Мастер создания форм".

Данный скрипт может создавать 4 типа форм, для Вашего сайта:

  • Форма обратной связи;
  • Форма для проведения опросов или анкет;
  • Форма для голосования на сайт;
  • Форма любой сложности.

Чтобы получить демонстрационную версию этого скрипта, заполните форму, которая находится ниже:

Введите свое имя и основной e-mail адрес в форму, после чего нажмите на кнопку подписки. Бесплатная версия скрипта будет выслан на указанный вами адрес в течение нескольких минут.

Ваше имя: *
Ваш e-mail*

Более детальную информацию о скрипе, читайте на официальном сайте здесь!

Оцените эту статью:



Похожие статьи
Интересно почитать

    Получать новые материалы этого сайта на свой email адрес?

    Отправлять мне комментарии по эл. почте?

Простая CRM

Нашли ошибку в тексте

Система Orphus
https://biznesguide.ru/coding/52.html
3,83 из 5 на основе 13 оценок.