САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ
×

PHP5 Учебник

PHP Главная PHP Введение PHP Установка PHP Синтаксис PHP Переменные PHP Echo/Print PHP Типы данных PHP Строки PHP Константы PHP Операторы PHP Заявления if...else PHP Заявления switch PHP Цикл while PHP Циклы for, foreach PHP Функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные массивы

PHP Формы

PHP Обработка форм PHP Проверка форм PHP Поля форм PHP Проверка почты PHP Полная форма

PHP Продвинутый

PHP Мульти массивы PHP Дата и время PHP Подключение PHP Обработка файлов PHP Открыть файл PHP Создать файл PHP Загрузить файл PHP Файлы cookie PHP Проведение сессий PHP Фильтры PHP Расширенные фильтры PHP Обработка ошибок PHP Обработка исключений

MySQL

MySQL База данных MySQL Установить MySQL Создать БД MySQL Создать таблицу MySQL Вставить данные MySQL Получить ID MySQL Вставить записи MySQL Подготовленные MySQL Выбрать данные MySQL Удалить данные MySQL Обновить данные MySQL Лимит данных

PHP - XML

PHP XML Парсер PHP XML Анализатор PHP XML Вывод PHP XML Экспат PHP XML DOM

PHP - AJAX

AJAX Введение AJAX PHP AJAX База данных AJAX XML AJAX Живой Поиск AJAX RSS Считывание AJAX Опрос

PHP Примеры

PHP Примеры

PHP Поля форм



В этой главе показано, как сделать поля ввода обязательными и при необходимости создать сообщения об ошибках.


PHP Обязательные поля ввода

Из таблицы правил проверки на предыдущей странице мы видим, что "Имя", "E-mail", и "Пол" обязательные поля. Эти поля не могут быть пустыми и должны быть заполнены в HTML форме.

Поле Правило проверки
Имя Обязательно. + Должен содержать только буквы и пробелы
E-mail Обязательно. + Должен содержать действительный адрес электронной почты (с @ и .)
Веб сайт Произвольно. Если он присутствует, он должен содержать допустимый URL адрес
Комментарий Произвольно. Многострочное поле ввода (textarea)
Пол Обязательно. + Необходимо выбрать один из

В предыдущей главе, все поля ввода были необязательными.

В следующем коде мы добавили несколько новых переменных: $nameErr, $emailErr, $genderErr и $websiteErr. Эти переменные error, будут содержать сообщения об ошибках для требуемых полей. Мы также добавили оператор if и else для каждого переменной $_POST. Что проверит переменную $_POST пуста ли в PHP функция empty(function). Если пустая, сообщение об ошибке сохранится в различных переменных error, а если она не пуста, она отправляет входные данные пользователя через функцию test_input():

<?php
// Определить переменные и установить в пустые значения
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Имя обязательно";
  } else {
    $name = test_input($_POST["name"]);
  }

  if (empty($_POST["email"])){
    $emailErr = "Email обязательно";
  } else {
    $email = test_input($_POST["email"]);
  }

  if (empty($_POST["website"])){
    $website = "";
  } else {
    $website = test_input($_POST["website"]);
  }

  if (empty($_POST["comment"])) {
    $comment = "";
  } else {
    $comment = test_input($_POST["comment"]);
  }

  if (empty($_POST["gender"])) {
    $genderErr = "Пол обязательно";
  } else{
    $gender = test_input($_POST["gender"]);
  }
}
?>

PHP Отображение cообщений об ошибках

Затем в HTML форме мы добавляем немного скрипта, после каждого обязательного поля, которая создает правильное сообщение об ошибке, если это необходимо (то есть, если пользователь пытается отправить форму без заполнения обязательных полей):

Пример

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

Имя:
<input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Веб сайт:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Комментарий:
<textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Пол:
<input type="radio" name="gender" value="Женщина">Женщина
<input type="radio" name="gender" value="Мужчина">Мужчина
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Отправить">

</form>
Смотреть код »

Следующий шаг - проверка входных данных, "Содержит ли поле Имя: только буквы и пробелы?" , " Содержит ли поле E-mail: действительный синтаксис адреса электронной почты?", "Содержит ли поле Вебсайт: допустимый URL адрес?".