НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

PHP Підручник

PHP СТАРТ PHP Інтро PHP Встановлення PHP Синтаксис PHP Коментарі PHP Змінні PHP Echo / Print PHP Типи даних PHP Рядки PHP Числа PHP Математика PHP Константи PHP Оператори PHP If...Else...Elseif PHP Switch PHP Цикли PHP Функції PHP Масиви PHP Суперглобали PHP RegEx

PHP Форми

PHP Обробка форми PHP Перевірка форми PHP Обов'язкові поля форми PHP Форма URL/E-mail PHP Заповнення форми

PHP Розширений

PHP Дата і час PHP Підключення файлів PHP Обробка файлів PHP Файл відкрити/читати PHP Файл створити/записати PHP Файл Завантажити PHP Кукі PHP Сесії PHP Фільтри PHP Розширені фільтри PHP Callback функції PHP JSON PHP Винятки

PHP ООП

PHP Що таке ООП PHP класи/об'єкти PHP Конструктор PHP Деструктор PHP Модифікатори доступу PHP Спадкування PHP Константи PHP Абстрактні класи PHP Інтерфейси PHP Трейти PHP Статичні методи PHP Статичні властивості PHP Простори імен PHP Ітерабелі

MySQL База даних

MySQL База даних MySQL Підключення MySQL Створити БД MySQL Створити таблиці MySQL Вставити дані MySQL Отримати останній ID MySQL Вставити кілька записів MySQL Підготовлені інструкції MySQL Вибрати дані MySQL Where MySQL Order By MySQL Видалення даних MySQL Оновлення даних MySQL Обмеження даних

PHP XML

PHP XML Парсери PHP SimpleXML Парсер PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Інтро AJAX PHP AJAX База даних AJAX XML AJAX Живий пошук AJAX Опитування

PHP Приклади

PHP Приклади PHP Компілятор PHP Вікторина PHP Вправи PHP Сертифікат

PHP Довідник

PHP Огляд PHP Масив PHP Календар PHP Дата PHP Каталог PHP Помилка PHP Виняток PHP Файлова система PHP Фільтр PHP FTP PHP JSON PHP Ключові слова PHP Libxml PHP Пошта PHP Математика PHP Різне PHP MySQLi PHP Мережа PHP Output Control PHP RegEx PHP SimpleXML PHP Потік PHP Рядок PHP Обробка змінних PHP XML Парсер PHP Zip PHP Часові пояси

PHP. W3Schools українською. Уроки для початківців

En

PHP Форми - Обов’язкові поля


У цьому розділі показано, як зробити поля введення обов’язковими та створити повідомлення про помилки, якщо потрібно.


PHP - Обов’язкові поля

З таблиці правил валідації (перевірки) на попередній сторінці ми бачимо, що "Ім’я", "Електронна адреса" та "Стать" поля обов’язкові для заповнення. Ці поля не можуть бути порожніми та мають бути заповнені у формі HTML.

Поле Правила валідації
Ім’я Обов’язково. + Має містити лише літери та пробіли
E-mail Обов’язково. + Має містити дійсну електронну адресу (з @ та .)
Вебсайт Опціонально. Якщо присутній, це повинно містити дійсний URL
Коментар Опціонально. Багаторядкове поле введення (textarea)
Стать Обов’язково. Треба вибрати один варіант

У попередньому розділі всі поля введення були необов’язковими.

У наступному коді ми додали кілька нових змінних: $nameErr, $emailErr, $genderErr і $websiteErr. Ці змінні помилок міститимуть повідомлення про помилки для обов’язкових полів. Ми також додали інструкцію if else для кожної змінної $_POST. Це перевіряє, чи змінна $_POST порожня (за допомогою функції PHP empty()). Якщо вона порожня, повідомлення про помилку зберігається в різних змінних помилки, а якщо вона не порожня, вона надсилає введені користувачем дані через функцію 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 - Відобразити повідомлення про помилку

Потім у формі 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="female">Жінка
<input type="radio" name="gender" value="male">Чоловік
<input type="radio" name="gender" value="other">Воно
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Надіслати">

</form>
Виконати приклад »

Наступним кроком є перевірка вхідних даних, тобто "Чи поле Name містить лише літери та пробіл?", та "Чи поле E-mail містить дійсний синтаксис e-mail адреси?", а також "Чи містить поле Website дійсну URL адресу?".