Personlige aktiviteter Kalenderprogram - Manglende skjemadata i et PHP-program
Så langt i programmet Personlige aktiviteter-kalendere har vi skrevet koden for muligheten for at aktivitetsoppførings-webskjemaet ennå ikke er sendt inn ($ _POST ['send'] er tomt). Hvis dette er tilfelle, vil programmet initialisere variablene til null rett før funksjonsanropet som viser skjemaet i nettleseren for første gang. Nå vil vi kode for muligheten for at skjemaet er sendt inn ($ _POST ['send'] er ikke tomt). Hvis dette er tilfelle, er det to alternativer for neste trinn.
  1. Hvis skjemaet ble sendt inn, og brukeren ikke har levert alle nødvendige data, vil programmet vise skjemaet i nettleseren igjen sammen med en feilmelding.

  2. Hvis skjemaet ble sendt inn og de nødvendige dataene ikke mangler, vil programmet behandle dataene og sende dem til databasen.
La oss jobbe med det første alternativet. Hvordan tester vi om det mangler data? Først må vi bestemme hvilke data som kreves og hvilke som er valgfrie. For dette enkle kalenderprogrammet er de eneste nødvendige dataene tittelen på aktiviteten og starttid / dato. De andre inputfeltene i nettformen er valgfrie. Dette er de fem obligatoriske datainntastingsfeltene i nettformen og de seks valgfrie.


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

Det første trinnet vårt er å bruke PHP if statement til å teste om det mangler data for hvert av de påkrevde og valgfrie inputfeltene. Vi vil også lage en variabel som heter $ error_message og innstille først verdien Nei. Hvis det mangler data, blir variabelen satt til ja. Her er den første delen av koden.

$ error_message = "nei";

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


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

Hva gjør denne koden? Programmet vil først sette variabelen $ error_message til Nei. Den vil deretter teste hvert av de elleve datainputfeltene som er sendt fra skjemaet. I koden over tester vi for de to første variablene act_title og act_desc. Imidlertid tester hele koden også for de andre 9 variablene. Det er tre mulige resultater.

  1. Hvis programmet møter manglende data fra a nødvendig input field (act_title), vil den stille den korresponderende parametervariabelen til null og $ error_message variabelen til ja.

  2. Hvis programmet møter manglende data fra et valgfri data felt (act_desc), vil den sette parametervariabelen til null men ikke sett $ error_message til ja.

  3. Hvis data for et inndatafelt ikke mangler, vil de utføre andre setningen. Den vil sette parametervariabelen til verdien av den tilsvarende $ _POST [''] -variabelen og $ error_message-variabelen vil ikke bli påvirket.
Hvis programmet gjør det gjennom testen for alle elleve $ _POST-variabler og $ error_message-variabelen fortsatt er satt til Nei, dette forteller programmet at ingen nødvendige data mangler. I dette tilfellet vil dataene bli behandlet videre og sendt til databasen. Imidlertid hvis variabelen $ error_message er satt til ja, betyr dette at minst ett obligatorisk felt har manglende data. Programmet vil kalle Activity_Entry_Form-funksjonen igjen. Fordi vi allerede har satt verdien til parametervariablene til null (for data som mangler) eller til verdien til den tilsvarende $ _POST-variabelen, er vi klare til å sende dem med funksjonsanropet.

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);
}
annet {behandle data videre}
Merk--Pilen indikerer at koden er pakket inn på en andre linje og egentlig burde være på én linje.

Neste trinn vil være å gjøre justeringer av Activity_Entry_Form-funksjonen for å håndtere den nye feilmeldingen.

Merk - Hensikten med denne opplæringen er å bygge et program for personlig aktiviteter for personlig bruk og lære det grunnleggende om PHP og MySQL databaser. Jeg har ikke tatt med noen sikkerhetsfunksjoner som å forhindre ondsinnet inputdata. Det ville gjøre denne opplæringen for komplisert for nybegynneren. Hvis du opprettet et program for nettet, vil du inkludere slik sikkerhet i programkoden.







Video Instruksjoner: 174th Knowledge Seekers Workshop June 1, 2017 (April 2024).