русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Проверка формы


Дата добавления: 2013-12-23; просмотров: 1065; Нарушение авторских прав


При работе со страницами, которые включают обработку форм, часто необходимо проверять вводимые пользователем данные.

PHP имеет много строковых и числовых функций, которые можно использовать для проверки ввода пользователя. Часть строковых функций, применяемых здесь, обсуждаются также в разделе 3-6. Наиболее часто используемые функции представлены ниже:

is_string(string) – определяет, является ли переменная string строкой. Возвращает значение true или false.

is_int(string) или is_integer(string) – определяет, является ли переменная string целым числом. Возвращает значение true или false.

is_numeric(string) – определяет, является ли переменная string числовой строкой. Возвращает значение true или false.

is_double(string) или is_float(string) – определяет, является ли переменная string числом с плавающей точкой. Возвращает значение true или false

strlen(string) – возвращает длину строки string.

strpbrk(string1, string2) – ищет в строке string1 символ из строки string2, возвращает строку, начинающуюся с найденного символа (или FALSE, если ничего не найдено).

strtolower(string) – преобразует строку, хранящуюся в переменной string, в символы нижнего регистра.

strtoupper(string) — преобразует строку, хранящуюся в переменной string, в символы верхнего регистра.

Рассмотрим следующую страницу с формой XHTML:

 

Эта страница формы требует, чтобы пользователь ввел имя, имя учетной записи (имя пользователя) и пароль длиной не менее 4 символов, прежде чем происходит обработка формы. Такой тип проверки формы является важным, так как он помогает гарантировать, что ввод пользователя имеет правильный формат, который можно записать в базу данных, — текстовый файл, используемый для создания сообщения e-mail или для повторного вывода пользователю. Однако один XHTML не может выполнить проверку такого типа. Этот процесс выполняется с помощью перечисленных выше строковых и числовых функций PHP.



Отправка формы становится теперь трехшаговым процессом.

  1. Ввод данных формы и щелчок на кнопке отправки.
  2. Проверка ввода с помощью функций PHP.
  3. Обработка (запись в файл, генерация автоматического сообщения e-mail или воспроизведение ввода на экране) данных с помощью PHP.

Следующий сценарий демонстрирует этот процесс.

<?php

 

//Проверка, была ли нажата кнопка отправки. Если да, начинается проверка данных формы.

 

if(isset($_POST['submitB'])) {

//Проверяет, что было введено в поле name

 

$valid_form = true;

 

if ($_POST['name'] == "")

{

echo "Введите свое имя";

$valid_form = false;

}

 

else

{

$name = $_POST['name'];

}

 

if ($_POST['uname'] == "")

{

echo "Введите имя пользователя";

$valid_form = false;

}

 

else

{

$username = $_POST['uname'];

}

 

if ($_POST['pass'] == "")

{

 

echo "Введите пароль";

$valid_form = false;

}

 

elseif (strlen($_POST['pass']) < 4)

{

 

echo "Пароль должен содержать не менее 4 символов";

$valid_form = false;

}

 

else

{

$password = $_POST['pass'];

}

 

//если все поля формы были введены правильно, начинаем обработку

 

if($valid_form == true)

{

 

//код обработки формы находится здесь

 

}

}

?>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>A Web Page</title>

</head>

<body>

 

<form method="post" action="http://...form_validate.php"/>

Enter Name: <input type="text" name="name"/>

Enter user name: <input type="text" name="uname"/>

Enter Password (must contain at least 4 characters): <input type="password" name="pass"/>

<input type="submit" name="submitB" value="Submit"/>

</form>

 

</body>

</html>

Пример 7.3.

Когда нажимается кнопка отправки, применяется последовательность операторов для проверки содержимого полей формы. Сначала проверяется, что поле name не NULL (значение $_POST['name'] ). Если $_POST['name'] содержит значение NULL, это указывает, что пользователь не ввел имя в поле 'name'. Оператор echo используется для вывода пользователю сообщения об ошибке. Если $_POST['name'] содержит значение, то оно присваивается скалярной переменной $name, которая может использоваться позже в программе, когда начнется обработка данных. Затем проверяется поле 'user name' с помощью того же метода, который применялся для проверки поля 'name'. Если имя пользователя не введено, выводится сообщение об ошибке. Иначе значение присваивается скалярной переменной $username. Наконец, проверяется поле пароля 'password'. Проверка пароля является двухшаговым процессом: 1) проверяется, что пароль был введен, и 2) если пароль был введен, проверяется, что он содержит не меньше 4 символов. Первый оператор if проверяет, что пароль был введен. Оператор elseif (который выполняется, только если предыдущий оператор if будет оцениваться как false ) проверяет введенный пароль с помощью функции strlen(). Эта функция возвращает длину пароля. Полученная длина сравнивается с числом 4. Если значение меньше 4, выводится ошибка. Иначе длина пароля будет допустима, и он присваивается скалярной переменной $password.

Если все поля формы содержат допустимые данные, можно начинать обработку формы. Можно задать флаг, чтобы помочь в отслеживании проверки. Сначала флаг задается ( $valid_form = true ) в начале блока кода. Если какое-то из полей формы не содержит допустимые данные, то флагу присваивается значение false ( $valid_form ). После проверки всех полей формы применяется финальный оператор if для проверки статуса флага ( $valid_form ). Если значение $valid_form будет true (все поля формы содержат допустимые данные), можно начинать обработку формы, иначе блок обработки формы пропускается. Пользователь получает сообщение об ошибке, возникшей во время процесса проверки, и может начинать делать исправления.



<== предыдущая лекция | следующая лекция ==>
Итерации по массиву $_Request | Контрольный вывод введенных значений формы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.65 сек.