[Code] Eingegebenes Datum prüfenSie befinden sich: Home > Webmaster News
[Code] Eingegebenes Datum prüfen
Oft stehen wir vor der Aufgabe, dass ein User ein Datum einzugeben hat, und wir prüfen müssen, ob dies ein gültiges Datum ist.
Wir können auf unserem Formular nun einfach ein Eingabefeld vorhalten, in das der Benutzer das Datum in der gebräuchlichen Schreibweise eingeben soll, nämlich den Tag, einen Punkt, den Monat, noch einen Punkt, und danach das Jahr.
Bitte Datum eingeben:
<input name="Datum" type="text" id="Datum" size="10" maxlength="10">
Folgende Eingaben sind denkbar:
- leeres Feld (gar nichts eingegeben)
- 3.7.78 (Jahr 2-stellig)
- 03.07.78 (Tag und Monat nun mit führender Null)
- 12.66.2008 (Monat unsinnig)
- 55.12.2008 (Tag unsinnig)
- 12.345 (kein Datum)
- 1.2.3.4.5 (kein Datum)
Alle diese Falscheingaben müssen abgefangen werden. Wenn es sich um kein Pflichtfeld handelt, so können wir die leere Eingabe zulassen, ansonsten muss die Plausibilität der Daten geprüft werden.
Hierzu kennt PHP die Funktion checkdate(), der als Parameter Monat, Tag und Jahr übergeben wird, und die als Rückgabewert bei richtigem Datum ein True, bei falschem Datum ein False liefert.
Das eingegebene Datum muss an den Punkten zerlegt werden, damit wir Tag, Monat und Jahr extrahieren können, um dann die Prüfung mit checkdate() durchführen zu können. Das kann man gleich in einer Funktion zusammenfassen, die eine Fehlermeldung zurückliefert.
<?php
funktion datumPruefen($datum) {
// Zerlegen an den Punkten
$teile = explode('.',$datum)
if($count($teile) !=3) return 'Fehler: Datum enthält nicht genau 2 Punkte';
if(!checkdate($teile[1],$teile[0],$teile[2])) return 'Fehler: Datum ungültig';
return '';
}
$fehler = datumPruefen($_POST['Datum']);
echo $fehler;
?>
(Autor: Wolfgang), Eingetragen am 29.07.2008
Schreib ein Kommentar
|