Kalendář osobních aktivit - chybějící formulářová data v programu PHP
Doposud jsme v Programu kalendáře osobních aktivit napsali kód pro možnost, že webový formulář pro zadání aktivity ještě nebyl odeslán ($ _POST ['submit'] je prázdný). Pokud tomu tak je, program inicializuje proměnné na null těsně před voláním funkce, které poprvé zobrazí formulář ve webovém prohlížeči. Nyní budeme kódovat možnost, že byl formulář odeslán ($ _POST ['submit'] není prázdný). Pokud tomu tak je, existují další možnosti pro další krok.
  1. Pokud byl formulář odeslán a uživatel nedodal všechna požadovaná data, program formulář ve webovém prohlížeči znovu zobrazí spolu s chybovou zprávou.

  2. Pokud byl formulář odeslán a požadovaná data chybí, program data zpracuje a odešle do databáze.
Pojďme pracovat na první možnosti. Jak otestujeme, zda neexistují žádná chybějící data? Nejprve se musíme rozhodnout, která data jsou povinná a která jsou volitelná. Pro tento jednoduchý kalendářní program je jediným požadovaným údajem název aktivity a počáteční čas / datum. Ostatní vstupní pole ve webovém formuláři jsou volitelná. Toto je pět požadovaných polí pro zadávání dat ve webovém formuláři a šest volitelných.
Požadované

act_title
act_month_1
act_day_1
act_year_1
act_hour_1
Volitelný

act_desc
act_month_2
act_day_2
act_year_2
act_hour_2
act_status

Naším prvním krokem je použít příkaz if if k testování chybějících dat pro každé z požadovaných a volitelných vstupních polí. Vytvoříme také proměnnou nazvanou $ error_message a zpočátku nastavíme hodnotu na Ne. Pokud chybí nějaká data, proměnná bude nastavena na Ano. Zde je první část kódu.

$ error_message = "no";

if (empty ($ _ 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']; }
. . .
. . .

Co tento kód dělá? Program nejprve nastaví proměnnou $ error_message na Ne. Dále otestuje každé z jedenácti vstupních datových polí předaných z formuláře. Ve výše uvedeném kódu testujeme první dvě proměnné act_title a act_desc. Celý kód však bude testovat také dalších devět proměnných. Existují tři možné výsledky.

  1. Pokud program narazí na chybějící data z a Požadované vstupní pole (act_title), nastaví odpovídající proměnnou parametru na null a proměnná $ error_message na Ano.

  2. Pokud program narazí na chybějící data z volitelný datové pole (act_desc), nastaví proměnnou parametru na null, ale ne nastavte $ error_message na Ano.

  3. Pokud data pro vstupní pole chybí, provede příkaz else. Nastaví proměnnou parametru na hodnotu odpovídající proměnné $ _POST [''] a proměnná $ error_message bude ne Být afektovaný.
Pokud program provede test pro všech jedenáct proměnných $ _POST a proměnná $ error_message je stále nastavena na Ne, program informuje, že chybí žádná požadovaná data. V tomto případě budou data dále zpracována a předána do databáze. Pokud však byla proměnná $ error_message nastavena na Ano, to znamená, že v alespoň jednom povinném poli chybí data. Program znovu zavolá funkci Activity_Entry_Form. Protože jsme již nastavili hodnotu proměnných parametrů na null (pro chybějící data) nebo na hodnotu odpovídající proměnné $ _POST, jsme připraveni je předat pomocí volání funkce.

pokud ($ 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 {data zpracování dále}
Poznámka--Šíp označuje, že kód je zalomen na druhý řádek a měl by být skutečně na jednom řádku.

Dalším krokem bude provedení úprav funkce Activity_Entry_Form pro zpracování nové chybové zprávy.

Poznámka - Účelem tohoto tutoriálu je sestavení kalendáře osobních aktivit pro osobní použití a výuka základů databází PHP a MySQL. Nezahrnul jsem žádné bezpečnostní funkce, jako je zabránění škodlivým vstupním datům. Díky tomu by byl tento tutoriál pro nováčka příliš komplikovaný. Pokud jste vytvářeli program pro web, měli byste takové zabezpečení zahrnout do kódu programu.







Video Návody: The Great Gildersleeve: Birthday Tea for Marjorie / A Job for Bronco / Jolly Boys Band (Smět 2024).