Портал для веб-мастера
Вход пользователей
Поиск статей
WoWeb.ru » Статьи » Программирование для Web » PHP

Методы проверки на правильность заполнения полей.

Как вы знаете, большинство скриптов, представленных в Web, ориентированы на работу с пользователем. Но для того, чтобы её начать, нужно, как правило, заполнить форму (в Интернете они встречаются повсеместно). Наивно полагать, что искушенный юзер с первого раза выдаст правильную, а главное корректную, информацию о себе. Конечно, правильность его имени и реальность земного адреса проверить мы не сможем, но вот то, как они введены, пожалуйста.
Представим, нам нужно создать программу, спрашивающую у посетителя его имя, e-mail. А также попросим придумать пароль и ввести по желанию комментарий. Если вы знакомы с HTML, то должны знать, что каждое поле в форме должно иметь имя. Итак, имена: name (Имя), mail (E-mail), password (Пароль), rpassword (Повторный пароль), comment (Комментарий). Для тех, кто ничего не понял, приведу исходный код нашей формы (кстати, его мы будем вставлять прямо в код PHP):

Фрагмент form.php
$form = “
<form name = form method = post action = form.php>
<input type = hidden name = seenform value = yes>
Имя:<BR>
<input type = text name = name><BR>
E-mail:<BR>
<input type = text name = name><BR>
Пароль:<BR>
<input type = text name = name><BR>
Повторите пароль:<BR>
<input type = text name = name><BR>
Комментарий:<BR>
<textarea name = comment></textarea><BR>
<input type = submit name = submit value = Отправить!”

Непонятная с первого взгляда строка <input type = hidden name = seenform value = yes> поможет нам узнать, заполнялась ли форма данным пользователем или ещё нет. А вот значение $form = “…” объясняется тем, что мы собираемся интегрировать форму напрямую с PHP.
Теперь, когда готова основа, можем начинать её наполнение. Вспомним про поле с именем “seenform”. Итак, вот зачем оно было нужно:

if ($seenform != ‘yes’):
print $form; 
else:

Если значение формы не равно ‘yes’, отобразить форму. В обратном случае работает код, следующий за словлм else. Форма заполнена, можно начинать проверку. Но для начала условимся, что
1. Кол-во символов в поле «Имя» и «E-mail» не больше, чем 40;
2. Кол-во символов в поле «Пароль» не меньше, чем 3;
3. Кол-во символов в поле «Комментарий» не больше, чем 450;
4. «Пароль» должен состоять только из латинских букв или цифр;
5. Все поля, кроме «Комментарий» должны быть заполнены!

Проверка на заполнение полей:

if ($name == “” or $mail == “” or $password == “” or $rpassword == “”)
{
print “Заполните все необходимые поля!<BR>”;
$er = 1;
}

Переменная $er = 1 значит, что была ошибка. В конце проверки мы это учтём.

Проверка на длину введенного имени:

if (strlen($name) > 40)
{
print "Имя не должно быть длиннее, чем 40 символов!<BR>";
$er = 1;
}

Проверка на длину введенного E-mail’a:

if (strlen($mail) > 40)
{
print "E-mail не должен быть длиннее, чем 40 символов!<BR>";
$er = 1;
}

Проверка на длину введенного пароля:

if (strlen($password) < 3)
{
print "Пароль не должен быть короче, чем 3 символа!<BR>";
$er = 1;
}

Проверка на длину введенного комментария:

if (strlen($comment) > 400)
{
print "Комментарий не должен быть длиннее, чем 450 символов!<BR>";
$er = 1;
}

Проверка на корректность введенного E-mail’a:

if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $email) and $email != "")
{
print "Вы ввели некорректный e-mail адрес!<BR>";
$er = 1;
}

Проверка на корректность введенного пароля:

if (!eregi("^([A-Za-z0-9А])", $password) and $password != "")
{
print “Имя должно состоять из латинский букв и/или цифр!<BR>”;
$er = 1;
}

Проверка на соответствие первого и второго пароля:

if ($password != $rpassword)
{
print “Введенные пароли не совпадат!<BR>”;
$er = 1;
}

Вот вроде бы и всё, проверка окончена. Теперь вспомним о $er = 1; Если ошибок встречено не было, то и переменная $er никогда не будет иметь значение. Так, 

if ($er == “”) // нет значения переменной
print “Все поля заполнены правильно!<BR>”;
endif; // окончание цикла!

То, что мы написали, является обязательным моментом при создании гостевых книг и прочих формосодержащих вещей. В принципе, можете вносить свои изменения или ещё чего. Но главное, если Вы чего-то не знаете, то всегда можно посмотреть ЭТО у других. Плагиат хоть никто и не любит, но запретить никто не может! Философия:)=!

----

- the end – 

Автор: ademan aka Михаил Хорошун
E-mail: info@paradise-ru.com 
Сайт: http://parker.port5.com 

-----------

Автор: ademan aka Михаил Хорошун · Добавлена: 2002-10-26
Просмотров: 11393 · Рейтинг: 2.8

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Категории раздела
Flash
Apache
WWW
PhotoShop
Веб-дизайн
Раскрутка и реклама
Базы данных
3D графика
Хостинг
Истории веб-мастеров
Web-технологии
Сетевая безопасность
Программирование для Web
Операционные системы

Новые статьи
Лучшие статьи
Популярные статьи
Комментируемые статьи
Разделы сайта
Скрипты
Статьи
Шрифты
Флэш исходники
HTML шаблоны
Партнерки
Клипарты
Смайлы
Фоны
Гифы
Иконки
Опрос сайта
Ведете ли вы блог?
Всего ответов: 60122
Наша кнопка
WoWeb.ru - портал для веб-мастера