
- •Лабораторна робота №5 контролювання даних
- •5.1 Теоретичні відомості
- •5.1.1 Поле обов'язкове для заповнення
- •Validate_data ( ) ;
- •5.1.2 Перевірка числових полів
- •Validate_data ();
- •5.1.3 Перевірка строкових полів
- •Validate_data ();
- •5.1.4 Видалення тегов html
- •Validate_data ( ) ;
- •5.2 Завдання до роботи
Методичні вказівки до лабораторних робіт з дисціпліни “Проектування баз даних та експертних систем”
для студентів спеціальності 7.05010102 „Інформаційні технології проектування”
Укл: доц. Андріянов О.В.
Лабораторна робота №5 контролювання даних
Мета роботи – ознайомиться з прийомами перевірки коректності введених даних різних типів.
5.1 Теоретичні відомості
При розробці додатків вельми важливою є перевірка введених даних на коректність і відображення адекватних повідомлень про помилки введення при їх наявності. Дані в текстовому полі можна використовувати для перевірки факту повторного виклику скрипта. Подібний прийом не завжди є коректним, оскільки поля даних можуть бути не обов'язковими для заповнення. Замість цього для цієї мети часто використовується приховане поле. Якщо поле не визначене, отже, це перший запуск скрипта, і необхідно сформувати заголовну сторінку. У коді це виглядає таким чином:
if (isset ($_REQUEST [ 'seen_already' ] ) )
{
..
}
else
{
displayform () ;
}
Перевірка введених даних на коректність виконується за допомогою функції validate_data, яка при виявленні помилок заносить їх опис в глобальний масив $errors. Якщо після виклику validate_data масив $errors не є порожнім (що легко перевірити за допомогою функції count), здійснюється виведення всіх повідомлень і повторне відображення форми для введення даних для того, щоб користувач мав можливість виправити допущені помилки. Якщо ж помилок не виявлено, можна перейти до обробки даних:
$errors = array () ;
if (isset ($_REQUEST ['seen_already']))
{
validate_data ( ) ;
if (count ($errors) > 0)
{
display_errors () ;
display_form ( ) ;
}
else
{
process_data ( ) ;
}
}
else
{
display form ();
}
Залежно від структури форми функція для перевірки даних validate_data має різні реалізації.
Функція display_errors призначена для відображення всіх повідомлень щодо помилок і може виглядати таким чином:
function displayerrors ()
{
global $errors;
foreach ($errors as $err)
{
echo $err . ' <BR> ' ;
}
Функція process_data для обробки даних може мати будь-який вигляд залежно від вирішуваного прикладного завдання. Нарешті, функція display_form відображає форму для введення даних. Форма може містити будь-яку комбінацію полів, але у будь-якому випадку в ній має бути присутнім приховане поле seen_already, яке використовується для визначення факту повторного запуску скрипта:
function displayform ()
{
echo "<FORM Меthod=’post ACTION='phpvalidate.php'>";
.
echo "<INPUT TYPE=' SUBMIT' VALUE = OK '>" ;
echo "<INPUT TYPE='HIDDEN’ NAME='seen_already' VALUE= ' data ' >" ;
echo "</FORM>";
}
5.1.1 Поле обов'язкове для заповнення
Перевірка на наявність даних в певному полі потрібна достатньо часто. Наприклад, додаток запрошує у користувача його ім'я і відображає його. Якщо поле заповнене, все функціонує коректно. Але що робити в тому випадку, якщо користувач залишив текстове поле порожнім? Для цього функція validate_data виконує перевірку на наявність даних в полі Name і у випадку, якщо це не так, додає повідомлення про помилку в масив $errors:
Функція process_data просто відображає введене ім'я, а функція display_form виводить форму з єдиним текстовим полем. Все застосування цілком приведене в прикладі 1.
Приклад 1. Поле, обов'язкове для введення, phpvalidate.php
<HTML>
<HEAD>
<ТІTLE>Обов'язкове поле</ТIТLЕ>
</HEAD>
<BODY><CENTER>
<Н1>Обов'язкове поле</H1>
<?php
$errors = array () ;
if (isset ($_REQUEST ["seen_already"]))
{