Обязательное для заполнение поле

Проверка на наличие данных в определенном поле требуется достаточно час­то. Например, приложение запрашивает у пользователя его имя и отображает его. Если поле заполнено, все функционирует кор­ректно. Но что делать в том случае, если пользователь оставил текстовое поле пустым? Для этого функция validate_data выполняет проверку на наличие данных в поле Name и в случае, если это не так, добавляет сообщение об ошибке в массив $errors:

Функция process_data просто отображает введенное имя, а функция display_form выводит форму с единственным текстовым полем. Все приложе­ние целиком приведено в примере

code: #php
<HTML>
<HEAD>
<TITLE>0бязательное поле</TITLE>
</HEAD>
<BODY>
<CENTER>
<H1>0бязательное поле</H1>
<?php
 
$errors = array();
 
if (isset($_REQUEST["seen_already"])) {
  validate_data();
 
  if (count($errors)>0) {
    display_errors();
    display_form ();
  } else {
    process_data();
  }
} else {
  display_form();
}
 
function validate_data() {
  global $errors;
 
  if ($_REQUEST["Name"] == "") {
    $errors[]  = "<FONT COLOR='RED'>Имя обязательно для поля</FONT>";
  }
}
 
function display_errors() {
  global $errors;
 
  foreach ($errors as $err) {
    echo $err, "<BR>";
  }
}
 
function process_data() {
  echo "Ваше имя ".$_REQUEST["Name"];
}
 
function display_form() {
  echo "<FORM METHOD='POST' ACTION='phpvalidate.php'>";
  echo "Введите Ваше имя"; echo "<BR>";
  echo "<INPUT NAME='Name'  TYPE='TEXT'>";
  echo " <BR><BR>";
  echo  "<INPUT TYPE=SUBMIT VALUE='OK'>";
  echo "<INPUT TYPE=HIDDEN NAME='seen_already' VALUE='data'>";
  echo "</FORM>";
}
?>
</CENTER>
</BODY>
</HTML>

Теперь, если пользователь не ввел ничего в текстовое поле, будет отображено сообщение об ошибке, как показано на рисунке:

результат выполнения примера
Книга: PHP в примерах. Купить книгу
Автор: Стивен Хольцнер. Переводчик: С. Банников
Поделиться:

Похожие статьи: