Daten vergleichen
-
function check_date($day, $month, $year) { $date =$day.".".$month.".".$year; $muster = "^[0-3][0-9]\.[0-1][0-9]\.[0-9]{4}$"; if(preg_match("/$muster/",$date)) { $today_date = mktime(0,0,0, date("m"), date("d"), date("Y")); $last_date = mktime(0,0,0, date("m"), date("d"), date("Y")+2); $arriv_date = mktime(0,0,0, $month, $day, $year); if($arriv_date < $today_date || $arriv_date > $last_date) { $this->status=FALSE; echo "Dies ist kein gütiges Datum1"; } } else { echo "Dies ist kein gütiges Datum2"; $this->status=FALSE; } }
Was ist daran falsch? Trotz korrekter Eingabe wird immer "Dies ist kein gültiges Datum1" ausgegeben.... ich überseh meinen Fehler immer. Ist es überhaupt möglich, Daten per if-anweisung zu vergleichen?
MfGTobsen
[ Dieser Beitrag wurde am 29.01.2003 um 21:21 Uhr von Tobsen editiert. ]
-
Hab Fehler gefunden. Es hat ein $-Zeichen gefehlt....
-
Die Frage ob es möglich ist, Daten mit den normalen Vergleichsoperatoren zu vergleichen, wurde noch nicht beantwortet. Woher wissen die Vergleichsoperatoren denn, dass es ein Datum ist, was sie vergleich?
MfGTobsen
-
Wissen sie nicht, aber das ist ja auch egal. Sie sehen den Wert als Integer an. Da es sich aber um einen UNIX Timestamp handelt (genau den liefert mktime zurück), ist eine größere Zahl auf alle Fälle auch später (außer es hat einen Bereichsüberlauf gegeben, das passiert aber erst in 30 Jahren).