Kalendár osobných aktivít - chýbajúce údaje formulára v programe PHP
Doteraz sme v programe Kalendár osobných aktivít napísali kód pre možnosť, že webový formulár pre zadanie aktivity ešte nebol odoslaný ($ _POST ['submit'] je prázdny). V takom prípade program inicializuje premenné na null tesne pred volaním funkcie, ktoré prvýkrát zobrazí formulár vo webovom prehľadávači. Teraz budeme kódovať možnosť, že bol formulár odoslaný ($ _POST ['submit'] nie je prázdny). V takom prípade existujú ďalšie možnosti pre nasledujúci krok.
  1. Ak bol formulár odoslaný a používateľ neposkytol všetky požadované údaje, program formulár vo webovom prehliadači znova zobrazí spolu s chybovým hlásením.

  2. Ak bol formulár odoslaný a požadované údaje chýbajú, program údaje spracuje a odošle do databázy.
Poďme pracovať na prvej možnosti. Ako otestujeme, či chýbajú nejaké údaje? Najprv musíme rozhodnúť, ktoré údaje sú povinné a ktoré sú voliteľné. Pre tento jednoduchý kalendárny program je jediným požadovaným údajom názov činnosti a začiatočný čas / dátum. Ostatné vstupné polia vo webovom formulári sú voliteľné. Toto je päť požadovaných polí na zadávanie údajov vo webovom formulári a šesť voliteľných.
Požadovaný

act_title
act_month_1
act_day_1
act_year_1
act_hour_1
voliteľný

act_desc
act_month_2
act_day_2
act_year_2
act_hour_2
act_status

Naším prvým krokom je použitie príkazu if if na testovanie chýbajúcich údajov pre každé z požadovaných a voliteľných vstupných polí. Vytvoríme tiež premennú s názvom $ error_message a pôvodne nastavíme hodnotu žiadny, Ak nejaké údaje chýbajú, premenná sa nastaví na Áno, Toto je prvá časť kódu.

$ error_message = "no";

if (prázdne ($ _ POST [ 'act_title']))
{
$ error_message = "yes";
$ pass_act_title = "";
}
else {$ pass_act_title = $ _POST ['act_title']; }


if (empty ($ _ POST ['act_desc']))) {$ pass_act_desc = ""; }
else {$ pass_act_desc = $ _POST ['act_desc']; }
. . .
. . .

Čo robí tento kód? Program najprv nastaví premennú $ error_message na žiadny, Ďalej otestuje každé z jedenástich polí na zadávanie údajov odovzdaných z formulára. Vo vyššie uvedenom kóde testujeme prvé dve premenné act_title a act_desc. Celý kód však otestuje aj ďalších deväť premenných. Existujú tri možné výsledky.

  1. Ak program zaznamená chýbajúce údaje z a požadovaný vstupného poľa (act_title), nastaví zodpovedajúcu premennú parametra na null a premenná $ error_message na Áno.

  2. Ak program narazí na chýbajúce údaje z voliteľný v dátovom poli (act_desc), nastaví premennú parametra na null, ale nie nastavte $ error_message na Áno.

  3. Ak chýbajú údaje pre vstupné pole, vykoná príkaz else. Nastaví premennú parametra na hodnotu zodpovedajúcej premennej $ _POST [''] a premenná $ error_message bude nie byť ovplyvnený.
Ak program vykoná test všetkých jedenástich premenných $ _POST a premenná $ error_message je stále nastavená na žiadny, program oznámi, že chýbajú potrebné údaje. V takom prípade sa údaje budú ďalej spracovávať a odovzdávať do databázy. Ak je však premenná $ error_message nastavená na Áno, to znamená, že aspoň v jednom povinnom poli chýbajú údaje. Program znova zavolá funkciu Activity_Entry_Form. Pretože sme už nastavili hodnotu premenných parametrov na hodnotu null (pre chýbajúce údaje) alebo na hodnotu zodpovedajúcej premennej $ _POST, sme pripravení ich odovzdať volaním funkcie.

ak ($ ​​error_message == "yes")
{
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 {spracovávať údaje ďalej}
Poznámka--Šíp označuje, že kód je zalomený do druhého riadku a mal by byť skutočne na jednom riadku.

Ďalším krokom bude vykonanie úprav funkcie Activity_Entry_Form na spracovanie novej chybovej správy.

Poznámka - Účelom tohto tutoriálu je zostaviť kalendár osobných aktivít pre osobné použitie a naučiť sa základy databáz PHP a MySQL. Nezahrnul som žiadne bezpečnostné prvky, ako napríklad zabránenie škodlivým vstupným údajom. To by pre tohto nováčika spôsobilo príliš komplikovaný tutoriál. Ak ste vytvárali program pre web, mali by ste takéto zabezpečenie zahrnúť do kódu programu.