Hvordan validere dato i PHP

Hvordan validere dato i PHP

Det er viktig å sjekke om datoverdiene er gyldige eller ugyldige når du jobber med datoverdiene. Hvis datoverdien ikke tas i riktig format, vil feil utgang genereres. Så å validere datoen er en veldig avgjørende oppgave for applikasjonen. Datoverdien kan valideres ved å bruke flere funksjoner i PHP. En er CheckDate () funksjon og en annen er CreateFromFormat () funksjon som er under Dato tid Klasse av PHP. Bruken av disse funksjonene for å validere dato i PHP har blitt vist i denne opplæringen.

Datovalidering ved å bruke CheckDate () -funksjonen

Å bruke CheckDate () -funksjonen er en av måtene å validere en dato i PHP. Syntaksen til denne funksjonen er gitt nedenfor.

Syntaks:

bool checkdate (int $ måned, int $ dag, int $ år)

Denne funksjonen har tre argumenter, og alle argumenter for denne funksjonen er obligatoriske. Det returnerer sant hvis datoverdien er gyldig. Ellers returnerer det falskt. Ulike bruksområder for sjekkdato () -funksjonen vises i denne delen av opplæringen.

Eksempel 1: Sjekk gyldigheten av forskjellige typer dato

Lag en PHP -fil med følgende skript som sjekker gyldigheten av fem datoer ved hjelp av CheckDate () -funksjonen. De var_dump () Funksjonen har blitt brukt for å sjekke utgangen fra CheckDate () -funksjonen.

/ *Kontroller gyldigheten av forskjellige typer datoverdier */
//Ugyldig dato
Echo var_dump (sjekkdato (30,9,2022)), "
";
//Gyldig dato
Echo var_dump (sjekkdato (12,16,2022)), "
";
//Gyldig dato
Echo var_dump (sjekkdato (2,29 2020)), "
";
//Ugyldig dato
Echo var_dump (sjekkdato (2,29 2022)), "
";
//Gyldig dato
ekko var_dump (sjekkdato (9,7,2022));
?>

Følgende utgang vises etter å ha utført det forrige skriptet:

Eksempel 2: Skriv ut melding basert på utdataene fra CheckDate () -funksjonen

Opprett en PHP -fil med følgende skript for å sjekke den returnerte verdien av CheckDate () -funksjonen og skrive ut meldingen basert på den returnerte verdien:

// definere dag-, måned- og årverdiene
$ dag = 15;
$ måned = 10;
$ år = 2022;
// Tilordne returverdiene
$ gyldig = sjekkdate ($ måned, $ dag, $ år);
if ($ gyldig)
ekko "$ dag- $ måned- $ År dato er gyldig.";
ellers
ekko "$ dag- $ måned- $ År dato er gyldig.";
?>

Følgende utgang vises etter å ha utført det forrige skriptet:

Eksempel 3: Sjekk gyldigheten av datoen som er tatt fra brukeren

Opprett en PHP -fil med følgende skript som vil ta en fødselsdato ved hjelp av et HTML -skjema og sjekk om datoen er gyldig eller ugyldig ved hjelp av CheckDate () -funksjonen.



Skriv inn bursdagen din:










// sjekk om skjemaet er sendt eller ikke
if (isset ($ _ post ['send']))

$ måned = (int) $ _post ['m'];
$ dag = (int) $ _post ['d'];
$ år = (int) $ _post ['y'];
// sjekk om datoen er gyldig eller ugyldig
$ gyldig = sjekkdate ($ måned, $ dag, $ år);
// Skriv ut melding basert på den returnerte verdien av sjekkdato () -funksjonen
if ($ gyldig)
$ msg = $ dag.'-'.$ måned.'-'.$ år.'(dd-mm-yyyy) dato er gyldig.
';
ellers
$ msg = $ dag.'-'.$ måned.'-'.$ år.'(dd-mm-yyyy) dato er ugyldig.';
// Skriv ut meldingen
ekko $ msg;

?>

Følgende skjema vises etter å ha utført det forrige skriptet:

Følgende melding vises etter å ha sendt skjemaet med fødselsdatoverdien, 16-12-2006:

Datovalidering ved bruk av CreateFromFormat () -funksjonen

Bruker CreateFromFormat () funksjon av Dato tid Klasse er en annen måte å sjekke gyldigheten av en dato. Syntaks for denne funksjonen er gitt nedenfor:

Syntaks:

DATETIME DATE_CREATE_FROM_FORMAT (String $ Format, String $ Time, DateTimeZone $ TimeZone)
Eller
DateTime DateTime :: CreateFromFormat (String $ Format, String $ Time, DateTimeZone $ TimeZone)

Det første argumentet for denne funksjonen er obligatorisk, og det brukes til å ta formatstrengen på dato og klokkeslett. Denne funksjonens andre argument er obligatorisk, og den brukes til å ta dato, tid eller dato-tidsverdi. Det tredje argumentet er valgfritt og brukes til å stille tidssonen. Det returnerer et datetime -objekt om suksess og en falsk på fiasko. Ulike bruksområder for denne funksjonen er vist i denne delen av opplæringen.

Eksempel 4: Sjekk dato for dato ved å bruke CreateFromFormat () og Format () -funksjoner

Opprett en PHP -fil med følgende skript som vil sjekke om en bestemt dato er gyldig eller ugyldig ved å bruke CreateFromFormat () og format () funksjoner. De CreateFromFormat () funksjon har blitt brukt til å lage en Dato tid objektet med en datoverdi, og format () -funksjonen har blitt brukt for å sjekke gyldigheten av datoverdien.

// tilordne en datoverdi som en streng
$ Dateval = "31-Sep-2022";
// Opprett dateobjekt ved å bruke CreateFromFormat () -funksjonen
$ objDate = DateTime :: CreateFromFormat ('D-M-Y', $ DATEVAL);
// sjekk datoen er gyldig eller ugyldig
if ($ objdate && $ objdate-> format ('d-m-y') == $ dataVal)
ekko "$ Dateval dato er gyldig.";
ellers
ekko "$ Dateval -dato er ugyldig.";
?>

Følgende utgang vises etter å ha utført det forrige skriptet:

Eksempel 5: Sjekk dato for dato ved å bruke CreateFromFormat () og GetLasterrors () -funksjoner

Opprett en PHP -fil med følgende skript som vil sjekke om en bestemt dato er gyldig eller ugyldig ved å bruke CreateFromFormat () og GetLasterRors () Funksjoner. De CreateFromFormat () -funksjon ble brukt til å lage en Dato tid objektet med en datoverdi. Og så GetLasterrors () Funksjon ble brukt til å sjekke gyldigheten av datoverdien ved å sjekke verdiene til matrisen som ble returnert av denne funksjonen.

if (isset ($ _ få ['dt']))

// tilordne en datoverdi som en streng
$ dataVal = $ _Get ['dt'];
// generere formatert dato
$ formatertdate = DateTime :: CreateFromFormat ('D-M-Y', $ DATEVAL);
// Les feil i en variabel
$ feil = DateTime :: getLasterRors ();
// sjekk for feil
if ($ feil ['Warning_count'] != 0 eller $ feil ['error_count'] != 0)
ekko "$ Dateval er ugyldig.";
ellers
ekko "$ Dateval er gyldig.";

ellers
ekko "Det er ikke gitt noen datoverdi.";
?>

Følgende utdata vises etter å ha utført det forrige skriptet hvis det ikke er gitt noen datoverdi i URL -parameteren:

Følgende utgang vises etter å ha utført det forrige skriptet hvis 31-september-2022 Datoverdien er gitt i URL -parameteren, og den er ugyldig:

Følgende utgang vises etter å ha utført det forrige skriptet hvis 30-september-2022 Datoverdien er gitt i URL -parameteren, og den er gyldig:

Konklusjon

To måter å sjekke dato -gyldigheten har blitt vist i denne opplæringen ved å bruke CheckDate () funksjon og CreateFromFormat () funksjon av Dato tid klasse ved å bruke flere eksempler. Forhåpentligvis kan PHP -brukerne på riktig måte sjekke dato -gyldigheten etter å ha lest denne opplæringen.