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.
- 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.
- 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 Nē. Ja trūkst datu, mainīgais tiks iestatīts uz Jā. Š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 Nē. 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.
- 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 Jā.
- Ja programmā rodas trūkstoši dati no neobligāti datu lauks (act_desc), tas iestatīs parametra mainīgo uz nulli, bet nē iestatiet $ error_message uz Jā.
- 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 nē 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 Nē, 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 Jā, 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ā.
|