Teil von  SELFPHP
Professional CronJob-Service

Suche

International PHP Conference


WebTech Conference


:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 
PHP Summit


Software Architecture Summit


:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
HTML5 Days


JavaScript Days


:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
Datum auf Gültigkeit überprüfen

Am Ende der Seite finden Sie das komplette Beispiel als Download.

Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

checkdate.php

Problem


Sie kennen sicherlich das Problem, das entstehen kann, wenn ein Besucher Ihrer Seite z. B. sein Geburtsdatum in einem Formularfeld angeben kann. Die Fehlerquote hierbei ist extrem hoch, und die Daten bei einer Falscheingabe sind für Sie nutzlos. Sie müssen also das eingegebene Datum auf seine Gültigkeit hin überprüfen.


Lösung

Die PHP-Funktion checkdate() erledigt diese Aufgabe zuverlässig, auch unter Berücksichtigung von Schaltjahren. Der Funktion müssen wir lediglich den Tag, den Monat und das Jahr übergeben. Folgende Kriterien muss ein korrektes Datum erfüllen:

1. Das Jahr muss zwischen 1 und 32767 liegen.
2. Der Monat muss zwischen 1 und 12 liegen.
3. Der Tag muss zwischen 1 und 31 liegen (Schaltjahre werden berücksichtigt).

Als ersten Parameter erwartet die Funktion checkdate() den Monat, dann den Tag und zum Schluss das Jahr. Handelt es sich bei dem Datum um ein korrektes Datum, so gibt checkdate() den booleschen Wert „TRUE“ zurück, ansonsten „FALSE“.

Das nachfolgende Beispiel erledigt genau diese Aufgabe. Es kann dabei mit unterschiedlichen Formaten umgehen. Sie müssen lediglich die einzelnen Parameter setzen und erhalten als Rückgabewert entweder „TRUE“ für ein korrektes Datum oder „FALSE“.

Folgende Parameter werden für die Funktion check_date() benötigt:

  • @param string $date
    Das zu prüfende Datum
  • @param string $format
    Der Aufbau des Datums (z. B. Tag/Monat/Jahr) mögliche Werte sind d,m,Y d => Tag, m => Monat, Y => Jahr
  • @param string $sep
    Das Trennzeichen des Datums
  • @return bool
    true, wenn es sich um ein korrektes Datum handelt, ansonsten false

Die Funktion checkdate() wird mit dem zu prüfenden Datum, dem Aufbau des Datums sowie des Trennzeichens aufgerufen (56, 65). Mit strpos() (42-44) suchen wir nach den Parametern für den Aufbau des Datums, also ob es 27.03.1971, 03.27.1971 oder alternativ vielleicht 1971.03.27 ist.

Anhand des übergebenen Separators und des Aufbaus können wir jetzt das Datum in seine Bestandteile zerlegen (46) und es der Funktion checkdate() (48) zur Überprüfung geben. Das Ergebnis der Überprüfung (true oder false) geben wir der aufrufenden Stelle zurück.

39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
function check_date($date,$format,$sep)
{    
    
    
$pos1    strpos($format'd');
    
$pos2    strpos($format'm');
    
$pos3    strpos($format'Y'); 
    
    
$check    explode($sep,$date);
    
    return 
checkdate($check[$pos2],$check[$pos1],$check[$pos3]);

}

$dateA    '27.03.1971';

echo 
$dateA '<br>';

if(
check_date($dateA,"dmY","."))
    echo 
'Das Datum ist korrekt.<br>';
else
    echo 
'Bitte überprüfen Sie Ihr Datum!<br>';

$dateB    '02-29-2006';

echo 
$dateB '<br>';

if(
check_date($dateB,"mdY","-"))
    echo 
'Das Datum ist korrekt.<br>';
else
    echo 
'Bitte überprüfen Sie Ihr Datum!<br>';

Beispiel 2.22: checkdate.php


Ausgabe im Browser

27.03.1971 Das Datum ist korrekt.
02-29-2006 Bitte überprüfen Sie Ihr Datum!


 


Dieses Skript aus dem SELFPHP KOCHBUCH wurde von SELFPHP unter dem "Tarif Mc500" von McAc.net-Webhosting erfolgreich ausgeführt und getestet!

Auf der Übersichtseite unter "McAc.net – Webhosting zu diesem Buch" finden Sie weitere Informationen zu dem Webhostingpaket, dass durch SELFPHP getestet wurde.




 

Download

Info   ZIP BZIP2 TARGZ
Größe   929.00 Byte 1.09 Kilobyte 1.00 Kilobyte

Alle Beispiele als PHP-Datei(en)

Hier haben Sie die Möglichkeit, sich sämtliche auf dieser Seite gezeigten Beispiele als PHP-Dateien direkt downzuloaden.

Umständliches Copy & Paste ist daher nicht mehr notwendig, da alle Beispiele sofort ausprobiert werden können.

Sie haben bei der Auswahl der bereitgestellten Downloads mehrere Möglichkeiten, je nachdem welches Komprimierungsverfahren Sie bevorzugen.

Zurück zur Übersichtsseite


 




:: Premium-Partner ::

Webhosting/Serverlösungen

Pixel X weitere Premium-Partner
 

:: SELFPHP Sponsor ::

Kaspersky Labs GmbH weitere Sponsoren
 

:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 
 

Ausgewählter Tipp im Bereich PHP-Skripte


Datei in mehrere Dateien aufsplitten

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Byte in Kibibyte (Binärpräfix) umrechnen

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2014 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt
© 2005-2014 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de