Program kalendara za osobne aktivnosti - nedostaju podaci iz obrasca u PHP programu
Do sada smo u programu kalendara za osobne aktivnosti napisali kod za mogućnost da web obrazac za unos aktivnosti još nije poslan ($ _POST ['prijava'] je prazan). U tom je slučaju program inicijalizirao varijable na nulu neposredno prije poziva funkcije koji će prvi put prikazati obrazac u web-pregledniku. Sada ćemo kodirati mogućnost da je obrazac poslan ($ _POST ['submit'] nije prazan). Ako je to slučaj, postoje dvije mogućnosti za sljedeći korak.
  1. Ako je obrazac poslan i korisnik nije dostavio sve potrebne podatke, program će ponovno prikazati obrazac u web pregledniku, zajedno s porukom o pogrešci.

  2. Ako je obrazac poslan i traženi podaci ne nedostaju, program će ih obraditi i poslati u bazu podataka.
Radimo na prvoj opciji. Kako ćemo testirati postoje li podaci koji nedostaju? Prvo moramo odlučiti koji su podaci potrebni, a koji neobvezni. Za ovaj jednostavan program kalendara, jedini potrebni podaci su naziv aktivnosti i vrijeme početka / datum. Ostala polja za unos u web obliku nisu obavezna. Ovo su pet obaveznih polja za unos podataka u web obrascu i šest neobaveznih.
Potreban

act_title
act_month_1
act_day_1
act_year_1
act_hour_1
neobavezan

act_desc
act_month_2
act_day_2
act_year_2
act_hour_2
act_status

Naš prvi korak je upotreba PHP if izjave za testiranje nedostajućih podataka za svako obavezno i ​​neobavezno polje za unos. Također ćemo stvoriti varijablu koja se zove $ error_message i početno ćemo postaviti vrijednost na Ne, Ako postoje podaci koji nedostaju, varijabla će biti postavljena na Da, Evo prvog odjeljka koda.

$ error_message = "ne";

ako (prazna ($ _ POST [ 'act_title']))
{
$ error_message = "da";
$ pass_act_title = "";
}
else {$ pass_act_title = $ _POST ['act_title']; }


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

Što radi ovaj kôd? Program će najprije postaviti varijablu $ error_message na Ne, U nastavku će se ispitati svako od jedanaest polja za unos podataka koje su poslane iz obrasca. U gornjem kôdu testiramo prve dvije varijable act_title i act_desc. Međutim, cijeli će se kod testirati i za ostalih 9 varijabli. Postoje tri moguća rezultata.

  1. Ako program naiđe na podatke koji nedostaju iz potreban polje za unos (act_title), postavit će odgovarajuću varijablu parametra na nulu, a varijablu $ error_message na Da.

  2. Ako program naiđe na nedostajuće podatke iz neobavezan podatkovnog polja (act_desc), postavit će varijablu parametara na nulu, ali ne postavite poruku o pogrešci $ na Da.

  3. Ako podaci za polje za unos ne nedostaju, izvest će iskaz else. Postavit će varijablu parametra na vrijednost odgovarajuće $ _POST [''] varijable, a $ error_message varijabla će ne biti pod utjecajem.
Ako program prođe kroz test za svih jedanaest $ _POST varijabli, a varijabla $ error_message i dalje je postavljena na Ne, ovo govori programu da ne nedostaju potrebni podaci. U ovom će se slučaju podaci obrađivati ​​dalje i proslijediti u bazu podataka. Međutim, ako je varijabla $ error_message postavljena na Da, to znači da u najmanje jednom potrebnom polju nedostaju podaci. Program će ponovno pozvati Activity_Entry_Form funkciju. Budući da smo vrijednost varijabli parametara već postavili na nulu (za podatke koji nedostaju) ili na vrijednost odgovarajuće $ _POST varijable, spremni smo ih proslijediti pozivom funkcije.

ako ($ error_message == "da")
{
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 {obrada podataka dalje}
Bilješka--Strijela označava da je kôd zamotan u drugi redak i stvarno bi trebao biti sav u jednoj liniji.

Sljedeći će korak biti prilagodba funkcije Activity_Entry_Form za obradu nove poruke o pogrešci.

Napomena - Svrha ovog vodiča je izgraditi program kalendara za osobne aktivnosti za osobnu upotrebu i podučiti osnove PHP i MySQL baza podataka. Nisam uključio nikakve sigurnosne značajke kao što je sprječavanje zlonamjernih ulaznih podataka. To bi učinilo ovaj udžbenik previše kompliciranim za početnike. Ako ste kreirali program za web, takvu sigurnost želite uključiti u svoj programski kod.







Upute Video: The Great Gildersleeve: Investigating the City Jail / School Pranks / A Visit from Oliver (Travanj 2024).