Изучаем PHP программирование

   Search   

Русская версия | English version   

Скрипты :: Секреты профессионалов :: Link :: FAQ   Пишите письма  



 

главная :: основы PHP

Заголовок

Проверка ошибок Обработка пользовательских данных дает осмысленный результат лишь в том случае, если данные имеют правильную структуру. Проверить достоверность введенных данных невозможно, однако вы можете проверить их целостность (например, убедиться в том, что адрес электронной почты соответствует стандартному шаблону). Хотя для проверки данных часто применяется технология JavaScript, могут возникнуть проблемы с несовместимостью браузеров. Поскольку код РНР выполняется на стороне сервера, вы всегда можете быть уверены в том, что проверка данных формы даст нужный результат (конечно, при условии правильности вашей программы). При обнаружении ошибки в данных необходимо сообщить об этом пользователю и предложить внести исправления. Существует несколько возможных решений, в том числе простой вывод сообщения об ошибке и предложение альтернативных вариантов (например, если пользователь выбирает имя, которое уже было выбрано другим пользователем). В этом разделе рассматривается процедура проверки и вывода сообщений, Пример 6: вывод информации о пустых или ошибочно заполненных полях формы Ни один разработчик сайта не захочет раздражать пользователя невразумительными сообщениями об ошибках в данных — особенно если пользователь запрашивает дополнительную информацию о товаре или оформляет покупку! Чтобы пользователь понял, какие поля формы остались пустыми или были заполнены неверно, сообщения должны быть четкими и конкретными. Мы последовательно проверяем все поля формы и убеждаемся в том, что они не остались пустыми. Там, где это возможно, проверяется правильность структуры введенных данных. Если проверка прошла успешно, мы переходим к следующему полю; в противном случае программа выводит сообщение об ошибке, устанавливает флаг, который позднее используется для повторного отображения формы, и переходит к следующему полю. Процедура повторяется до тех пор, пока не будут проверены все поля формы (листинг 10.8). Листинг 10.8. Проверка данных формы и вывод сообщений об ошибках Listing 10-8 Give us some information!
Your Name:

Your Email:

": // Заполнялась ли форма ранее? if ($seenform != "у"): print "$form"; // Пользователь заполнил форму. Проверить введенные данные, else : $error_flag = "n"; // Убедиться в том. что поле имени содержит информацию if ($name == "") : print "* You forgot to enter your name!
": $error_flag = "y"; endif: // Убедиться в том. что поле адреса содержит информацию if ($email == "") : else : print "* You forgot to enter your email !
" $error_flag = "y"; // Преобразовать все алфавитные символы в адресе // электронной почты к нижнему регистру $email = strtolower(trim($email)): // Убедиться в правильности синтаксиса // адреса электронной почты if (! @eregi('^[0-9a-z]+'. '([0-9a-z-]+\.)+'. '([0-9a-z]){2.4}$'. $email)) : print "* You entered an invalid email address!
" : $error_flag = "y"; endif; endif; // Если флаг ошибки $error_flag установлен. // заново отобразить форму if ($error_flag == "у") : print "$form"; else : // Обработать данные пользователя print "You entered valid form information!"; endif; endif; ?>

Hosted by uCoz
Программа в листинге 10.8 убеждается в том, что поля имени и адреса электронной почты не остались пустыми, а также проверяет правильность синтаксиса вве-, денного адреса. Если в результате каких-либо проверок в форме обнаруживаются ошибки, программа выводит соответствующие сообщения и отображает форму заново — при этом вся введенная ранее информация остается в форме, благодаря чему пользователю будет проще внести исправления. Если вывести пустую форму и предложить пользователю заполнить ее заново, он может отправиться за необходимым товаром или услугой в другое место.

Designed by Fedin
All right reserved
2003-2004
Hosted by uCoz