Isiklike tegevuste kalendriprogramm - puuduvad vormi andmed PHP-programmis
Siiani oleme isiklike tegevuste kalendri programmis kirjutanud koodi võimaluseks, et aktiivsuse sisenemise veebivormi pole veel esitatud ($ _POST ['esita'] on tühi). Sel juhul lähtestab programm muutujad nulliks vahetult enne funktsioonikõnet, mis kuvab vormi esmakordselt veebibrauseris. Nüüd kodeerime võimalust, et vorm on esitatud ($ _POST ['Submit'] ei ole tühi). Kui see on nii, on järgmiseks sammuks kaks võimalust.
  1. Kui vorm esitati ja kasutaja pole kõiki vajalikke andmeid edastanud, kuvab programm vormi koos veateatega uuesti veebibrauseris.

  2. Kui vorm esitati ja vajalikud andmed puuduvad, töötleb programm andmeid ja saadab need andmebaasi.
Töötame esimese variandi kallal. Kuidas testime, kas puuduvad andmed? Esiteks peame otsustama, millised andmed on nõutavad ja millised valikulised. Selle lihtsa kalendriprogrammi puhul on ainsad nõutavad andmed tegevuse pealkiri ja algusaeg / kuupäev. Veebivormi muud sisestusväljad on valikulised. Need on viis vajalikku andmesisestusvälja veebivormis ja kuus valikulist.
Nõutud

act_title
act_month_1
act_day_1
aktusaasta_1
act_hour_1
Valikuline

act_desc
akt_kuu_2
akt_päev_2
aktusaasta_2
akt_tund_2
act_status

Meie esimene samm on PHP if-lause abil puuduvate andmete kontrollimiseks kõigi nõutavate ja valikuliste sisestusväljade jaoks. Loome ka muutuja nimega $ error_message ja algselt seame selle väärtuseks ei. Kui puuduvad andmed, seatakse muutuja väärtusele jah. Siin on koodi esimene osa.

$ error_message = "ei";

if (tühi ($ _ POST ['act_title']))
{
$ error_message = "jah";
$ pass_act_title = "";
}
else {$ pass_act_title = $ _POST ['act_title']; }


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

Mida see kood teeb? Kõigepealt seab programm muutuja $ error_message väärtuseks ei. Järgmisena testib see kõiki vormist möödunud üksteist andmesisestusvälja. Ülaltoodud koodis katsetame kahte esimest muutujat act_title ja act_desc. Kuid kogu kood testib ka ülejäänud 9 muutujat. Võimalikke tulemusi on kolm.

  1. Kui programmis on puudu a nõutud sisendväli (act_title), seab see vastava parameetri muutuja nulliks ja muutuja $ error_message väärtuseks jah.

  2. Kui programmis on puudu puuduvaid andmeid valikuline andmeväljal (act_desc), seab see parameetri muutuja väärtuseks null, kuid mitte määrake $ error_message väärtuseks jah.

  3. Kui sisestusväljast andmed puuduvad, täidab see muu väite. See seab parameetri muutuja väärtuseks vastava muutuja $ _POST [''] ja muutuja $ error_message mitte mõjutada.
Kui programm teeb selle läbi kõigi üheteistkümne muutuja $ _POST muutuja jaoks ja muutuja $ error_message on endiselt seatud väärtusele ei, teatab see programmile, et puuduvad vajalikud andmed. Sel juhul töödeldakse andmeid edasi ja edastatakse andmebaasi. Kui aga muutuja $ error_message on seatud väärtusele jah, tähendab see, et vähemalt ühel kohustuslikul andmeväljal on andmeid puudu. Programm kutsub uuesti funktsiooni Activity_Entry_Form. Kuna parameetrimuutujate väärtuseks on juba määratud nulliks (puuduvate andmete korral) või vastava muutuja $ _POST väärtuseks, oleme valmis neid funktsioonikõnega edastama.

if ($ error_message == "jah")
{
Activity_Entry_Form ($ pass_act_title, $ pass_act_desc,
$ pass_act_moonth_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);
}
muidu {töötle andmeid edasi}
Märge--Nool näitab, et kood on mähitud teisele reale ja see peaks tõesti olema ühel real.

Järgmine samm on funktsiooni Activity_Entry_Form kohanduste tegemine uue tõrketeate käsitlemiseks.

Märkus. Selle õpetuse eesmärk on luua isiklikuks kasutamiseks mõeldud isiklike tegevuste kalendriprogramm ning õpetada PHP ja MySQL andmebaaside põhitõdesid. Ma pole lisanud ühtegi turvafunktsiooni, näiteks pahatahtlike sisendandmete takistamist. See muudaks selle õpetuse algajale liiga keeruliseks. Kui loksite veebi jaoks programmi, soovite selle turvakoodi lisada ka oma programmi koodis.







Video Juhiseid: Web Programming - Computer Science for Business Leaders 2016 (Mai 2024).