Personlige aktiviteter Kalenderprogram - Manglende formulardata i et PHP-program
Indtil videre har vi i programmet Personlige aktiviteter-kalender skrevet koden for muligheden for, at webformularen til aktivitetsindtastning endnu ikke er sendt ($ _POST ['indsende'] er tom). Hvis dette er tilfældet, initialiserer programmet variablerne til null lige før funktionsopkaldet, der viser formen i webbrowseren for første gang. Nu koder vi for muligheden for, at formularen er blevet sendt ($ _POST ['indsende'] er ikke tom). Hvis dette er tilfældet, er der to muligheder for det næste trin.
  1. Hvis formularen blev sendt, og brugeren ikke har leveret alle de krævede data, viser programmet formularen i webbrowseren igen sammen med en fejlmeddelelse.

  2. Hvis formularen blev sendt, og de krævede data ikke mangler, behandler programmet dataene og sender dem til databasen.
Lad os arbejde på den første mulighed. Hvordan tester vi, om der mangler data? Først skal vi beslutte, hvilke data der kræves, og hvilke der er valgfri. I dette enkle kalenderprogram er de eneste krævede data titlen på aktiviteten og starttid / dato. De andre inputfelter i webformen er valgfri. Dette er de fem påkrævede dataindtastningsfelter i webformen og de seks valgfri.
Nødvendig

act_title
act_month_1
act_day_1
act_year_1
act_hour_1
Valgfri

act_desc
act_month_2
act_day_2
act_year_2
act_hour_2
act_status

Vores første trin er at bruge PHP if-sætningen til at teste for eventuelle manglende data for hvert af de krævede og valgfrie inputfelter. Vi opretter også en variabel kaldet $ error_message og indstiller oprindeligt værdien til ingen. Hvis der mangler data, indstilles variablen til Ja. Her er den første sektion af koden.

$ error_message = "nej";

hvis (tom ($ _ POST [ 'act_title']))
{
$ error_message = "ja";
$ pass_act_title = "";
}
andet {$ pass_act_title = $ _POST ['act_title']; }


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

Hvad gør denne kode? Programmet indstiller først $ error_message-variablen til ingen. Det tester derefter hvert af de elleve datainputfelter, der er sendt fra formularen. I koden ovenfor tester vi for de første to variabler act_title og act_desc. Dog tester hele koden også for de andre 9 variabler. Der er tre mulige resultater.

  1. Hvis programmet støder på manglende data fra a påkrævet input felt (act_title), vil den indstille den tilsvarende parametervariabel til null og $ error_message variablen til Ja.

  2. Hvis programmet støder på manglende data fra et valgfri datafelt (act_desc), vil den indstille parametervariablen til null men ikke indstil $ error_message til Ja.

  3. Hvis data for et inputfelt ikke mangler, udfører de den anden erklæring. Det indstiller parametervariablen til værdien af ​​den tilsvarende $ _POST [''] -variabel og $ error_message-variablen vil ikke være påvirket.
Hvis programmet klarer det gennem testen for alle elleve $ _POST-variabler, og $ error_message-variablen er stadig indstillet til ingen, dette fortæller programmet, at der ikke mangler krævede data. I dette tilfælde behandles dataene videre og overføres til databasen. Men hvis $ error_message-variablen er indstillet til Ja, betyder det, at mindst et påkrævet felt mangler data. Programmet kalder funktionen Activity_Entry_Form igen. Da vi allerede har indstillet værdien af ​​parametervariablerne til null (for manglende data) eller til værdien af ​​den tilsvarende $ _POST-variabel, er vi klar til at videresende dem med funktionsopkaldet.

if ($ error_message == "ja")
{
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);
}
andet {behandle data videre}
Bemærk--Pilen angiver, at koden er indpakket til en anden linje og virkelig skal være alt på én linje.

Det næste trin vil være at foretage justeringer af funktionen Activity_Entry_Form for at håndtere den nye fejlmeddelelse.

Bemærk - Formålet med denne tutorial er at oprette et kalenderprogram til personlig aktivitet til personlig brug og undervise det grundlæggende i PHP- og MySQL-databaser. Jeg har ikke inkluderet nogen sikkerhedsfunktioner såsom forebyggelse af ondsindede inputdata. Det ville gøre denne tutorial for kompliceret til nybegynderen. Hvis du opretter et program til internettet, vil du medtage en sådan sikkerhed i din programkode.







Video Instruktioner: 174th Knowledge Seekers Workshop June 1, 2017 (Kan 2024).