Personisko aktivitāšu kalendāra programma - trūkst formas datu PHP programmā
Līdz šim Personīgo aktivitāšu kalendāra programmā mēs esam ierakstījuši kodu iespējai, ka aktivitāšu ievades tīmekļa veidlapa vēl nav iesniegta ($ _POST ['iesniegt'] ir tukša). Tādā gadījumā programma inicializēs mainīgos lielumus uz nulli tieši pirms funkcijas izsaukuma, kas pirmo reizi parādīs veidlapu tīmekļa pārlūkprogrammā. Tagad mēs kodēsim iespēju, ka veidlapa ir iesniegta ($ _POST ['iesniegt'] nav tukša). Ja tas tā ir, nākamajai darbībai ir divas iespējas.
  1. Ja veidlapa tika iesniegta un lietotājs nav iesniedzis visus nepieciešamos datus, programma atkal parādīs veidlapu tīmekļa pārlūkprogrammā kopā ar kļūdas ziņojumu.

  2. Ja veidlapa tika iesniegta un trūka nepieciešamo datu, programma tos apstrādā un nosūta uz datu bāzi.
Strādāsim pie pirmā varianta. Kā mēs pārbaudīsim, vai trūkst datu? Pirmkārt, mums jāizlemj, kuri dati ir nepieciešami un kuri nav obligāti. Šajā vienkāršajā kalendāra programmā vienīgie nepieciešamie dati ir aktivitātes nosaukums un sākuma laiks / datums. Pārējie ievades lauki tīmekļa formā nav obligāti. Šie ir pieci obligāti datu ievadīšanas lauki tīmekļa formā un seši pēc izvēles.
Obligāti

akts_nosaukums
akts_mēnesis_1
akts_diena_1
akts_gads_1
act_hour_1
Neobligāti

act_desc
akts_mēnesis_2
akts_diena_2
akts_gads_2
akts_stunda_2
aktu_stats

Mūsu pirmais solis ir izmantot PHP if paziņojumu, lai pārbaudītu, vai trūkst datu katram no obligātajiem un izvēles ievades laukiem. Mēs izveidosim arī mainīgo ar nosaukumu $ error_message un sākotnēji iestatīsim vērtību uz . Ja trūkst datu, mainīgais tiks iestatīts uz . Šeit ir koda pirmā sadaļa.

$ error_message = "nē";

if (tukšs ($ _ POST ['act_title']))
{
$ error_message = "jā";
$ pass_act_title = "";
}
else {$ pass_act_title = $ _POST ['act_title']; }


if (tukšs ($ _ POST ['act_desc'])) {$ pass_act_desc = ""; }
cits {$ pass_act_desc = $ _POST ['act_desc']; }
. . .
. . .

Ko šis kods dara? Programma vispirms iestatīs mainīgo $ error_message uz . Pēc tam tiks pārbaudīts katrs no vienpadsmit datu ievades laukiem, kas pāriet no veidlapas. Iepriekš minētajā kodā mēs pārbaudām pirmos divus mainīgos lielumus act_title un act_desc. Tomēr viss kods tiks pārbaudīts arī pārējiem 9 mainīgajiem. Ir trīs iespējamie rezultāti.

  1. Ja programmā rodas trūkstoši dati no: nepieciešams ievades lauks (act_title), tas iestatīs atbilstošo parametru mainīgo uz nulli un mainīgo $ error_message uz .

  2. Ja programmā rodas trūkstoši dati no neobligāti datu lauks (act_desc), tas iestatīs parametra mainīgo uz nulli, bet iestatiet $ error_message uz .

  3. Ja trūkst ievades lauka datu, tas izpildīs pārējo paziņojumu. Tas iestatīs parametra mainīgo uz atbilstošā mainīgā $ _POST [''] vērtību, un mainīgais $ error_message ietekmēt.
Ja programma izdara pārbaudi visiem vienpadsmit mainīgajiem $ _POST mainīgajiem un mainīgais $ error_message joprojām ir iestatīts uz , tas programmai norāda, ka trūkst nepieciešamo datu. Šajā gadījumā dati tiks apstrādāti tālāk un nodoti datu bāzē. Tomēr, ja mainīgais $ error_message ir iestatīts uz , tas nozīmē, ka vismaz vienā obligātajā laukā trūkst datu. Programma atkal izsauks funkciju Activity_Entry_Form. Tā kā parametru mainīgo vērtību jau esam iestatījuši uz nulli (trūkstošiem datiem) vai uz atbilstošā mainīgā $ _POST vērtību, mēs esam gatavi tos pārsūtīt ar funkcijas izsaukumu.

if ($ error_message == "jā")
{
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);
}
cits {apstrādā datus tālāk}
Piezīme--Bulta norāda, ka kods ir iesaiņots otrajā rindā un tam tiešām vajadzētu būt vienā rindā.

Nākamais solis būs pielāgot funkciju Activity_Entry_Form, lai apstrādātu jauno kļūdas ziņojumu.

Piezīme. Šīs apmācības mērķis ir izveidot personisko darbību kalendāra programmu personīgai lietošanai un iemācīt PHP un MySQL datu bāzu pamatus. Es neesmu iekļāvis nevienu drošības līdzekli, piemēram, ļaunprātīgu ievades datu novēršanu. Tas padarītu šo apmācību iesācējiem pārāk sarežģītu. Ja veidojat programmu tīmeklim, jūs šādu programmu vēlaties iekļaut programmas kodā.