Програма календарів особистих занять - відсутні дані форми у програмі PHP
Поки в програмі календаря особистих дій ми написали код для можливості того, що веб-форма для введення активності ще не була подана ($ _POST ['подати'] порожньо). У такому випадку програма ініціалізує змінні до нуля безпосередньо перед викликом функції, який відобразить форму в веб-браузері вперше. Тепер ми будемо кодувати можливість того, що форма була надіслана ($ _POST ['submit'] не порожня). У такому випадку є два варіанти наступного кроку.
  1. Якщо форма була подана і користувач не надав усіх необхідних даних, програма знову відобразить форму у веб-браузері разом із повідомленням про помилку.

  2. Якщо форма була подана, а необхідні дані не пропущені, програма обробить їх та надішле в базу даних.
Давайте попрацюємо над першим варіантом. Як ми перевіримо, чи є відсутні дані? Спочатку нам потрібно вирішити, які дані потрібні, а які необов’язкові. Для цієї простої програми календаря єдиними необхідними даними є назва діяльності та час / дата початку. Інші поля введення у веб-формі необов’язкові. Це п'ять необхідних полів для введення даних у веб-формі та шість необов’язкових.
вимагається

act_title
act_month_1
act_day_1
act_year_1
act_hour_1
За бажанням

act_desc
act_month_2
act_day_2
act_year_2
act_hour_2
act_status

Нашим першим кроком є ​​використання параметра PHP if для перевірки відсутніх даних для кожного з необхідних і необов'язкових полів введення. Ми також створимо змінну під назвою $ error_message та спочатку встановимо значення ні. Якщо відсутні якісь дані, змінна буде встановлена ​​на так. Ось перший розділ коду.

$ error_message = "ні";

if (порожній ($ _ POST ['act_title']))
{
$ error_message = "так";
$ pass_act_title = "";
}
else {$ pass_act_title = $ _POST ['act_title']; }


if (порожній ($ _ POST ['act_desc'])) {$ pass_act_desc = ""; }
else {$ pass_act_desc = $ _POST ['act_desc']; }
. . .
. . .

Що робить цей код? Програма спочатку встановить змінну $ error_message на ні. Далі буде перевірено кожне з одинадцяти полів введення даних, переданих із форми. У наведеному вище коді ми тестуємо перші дві змінні act_title та act_desc. Однак весь код буде перевірений і для інших 9 змінних. Можливі три результати.

  1. Якщо програма стикається з відсутніми даними з a вимагається введене поле (act_title), воно встановить відповідну змінну параметру в нуль, а змінну $ error_message на так.

  2. Якщо програма стикається з відсутніми даними з необов’язково поле даних (act_desc), воно встановить змінну параметра в нульове значення, але ні встановіть $ error_message на так.

  3. Якщо даних для поля введення відсутні, воно виконає оператор else. Він встановить змінну параметра на значення відповідної змінної $ _POST [''], і змінна $ error_message буде ні постраждати.
Якщо програма проходить тест для всіх одинадцяти змінних $ _POST і змінна $ error_message все ще встановлена ​​в ні, це повідомляє програмі, що відсутні необхідні дані. У цьому випадку дані будуть оброблятися далі та передаватися в базу даних. Однак якщо для змінної $ error_message встановлено значення так, це означає, що принаймні в одному необхідному полі відсутні дані. Програма знову викличе функцію Activity_Entry_Form. Оскільки ми вже встановили значення змінних параметрів до нуля (для відсутніх даних) або до значення відповідної змінної $ _POST, ми готові передати їх за допомогою виклику функції.

if ($ error_message == "так")
{
Activity_Entry_Form ($ pass_act_title, $ pass_act_desc,
$ pass_act_month_1, $ pass_act_day_1, $ pass_act_year_1,
$ pass_act_hour_1, $ pass_act_month_2, $ pass_act_day_2,
$ pass_act_year_2, $ pass_act_hour_2, $ pass_act_status);
}
else {обробляти дані далі}
Примітка--Стрілка вказує на те, що код прив’язаний до другого рядка і дійсно повинен бути весь на одному рядку.

Наступним кроком буде внесення змін до функції Activity_Entry_Form для обробки нового повідомлення про помилку.

Примітка. Метою цього підручника є побудова програми календаря персональних заходів для особистого користування та навчання основ баз даних PHP та MySQL. Я не включив жодних функцій захисту, таких як запобігання зловмисним вхідним даним. Це зробить цей підручник занадто складним для початківця. Якщо ви створювали програму для Інтернету, ви хочете включити таку безпеку у свій програмний код.