Поки в програмі календаря особистих дій ми написали код для можливості того, що веб-форма для введення активності ще не була подана ($ _POST ['подати'] порожньо). У такому випадку програма ініціалізує змінні до нуля безпосередньо перед викликом функції, який відобразить форму в веб-браузері вперше. Тепер ми будемо кодувати можливість того, що форма була надіслана ($ _POST ['submit'] не порожня). У такому випадку є два варіанти наступного кроку.
- Якщо форма була подана і користувач не надав усіх необхідних даних, програма знову відобразить форму у веб-браузері разом із повідомленням про помилку.
- Якщо форма була подана, а необхідні дані не пропущені, програма обробить їх та надішле в базу даних.
Давайте попрацюємо над першим варіантом. Як ми перевіримо, чи є відсутні дані? Спочатку нам потрібно вирішити, які дані потрібні, а які необов’язкові. Для цієї простої програми календаря єдиними необхідними даними є назва діяльності та час / дата початку. Інші поля введення у веб-формі необов’язкові. Це п'ять необхідних полів для введення даних у веб-формі та шість необов’язкових.
вимагається
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 змінних. Можливі три результати.
- Якщо програма стикається з відсутніми даними з a вимагається введене поле (act_title), воно встановить відповідну змінну параметру в нуль, а змінну $ error_message на так.
- Якщо програма стикається з відсутніми даними з необов’язково поле даних (act_desc), воно встановить змінну параметра в нульове значення, але ні встановіть $ error_message на так.
- Якщо даних для поля введення відсутні, воно виконає оператор 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. Я не включив жодних функцій захисту, таких як запобігання зловмисним вхідним даним. Це зробить цей підручник занадто складним для початківця. Якщо ви створювали програму для Інтернету, ви хочете включити таку безпеку у свій програмний код.
|