Hallo
Mit JS kannst du eine Vorprüfung machen, die eine Fehleingabe (Plausibilität und Format) moniert. Vor dem speichern auf dem Server wird bei der Verarbeitung eine Prüfung mit PHP durchgeführt.
Ich hab eine kleine Funktion im Internet gefunden
function check_time($time)
{
$parts = explode(':',$time);
if (
count($parts) !== 2 ||
!is_numeric($parts[0])||
!is_numeric($parts[1])||
$parts[0] < 0 ||
$parts[0] > 24 ||
$parts[1] < 0 ||
$parts[1] > 60
)return FALSE;
return TRUE;
}
Laut der Funktion ist auch 24:12 oder gar 24:60 ein gültiger Wert. Begrenze den Bereich auf 0-23 bzw. 0-59.
> Diese scheint recht gut zu funktionieren ABER wenn ich 1:44 eingebe sagt die Ausgabe gültig! OK, diese Uhrzeit gibt es auch …
Gültig ist sie in der Realität und laut der Prüfroutine.
> … ABER ich brauch eine 0 davor.
Führende Nullen kannst du $parts[0] mit [str_pad](http://www.php.net/str-pad) voranstellen.
Allerdings ist die Prüfung an dieser Stelle ungünstig aufgebaut. Die Uhrzeit wird in der Funktion auseinander genommen, das Setzen der führenden 0 gehört aber nicht in die Funktion.
~~~php
function check_time($hour, $minute)
{
if ([link:http://www.php.net/in_array@title=in_array]($hour, [link:http://www.php.net/range@title=range](0, 23))
and in_array($minute, range(0, 59))) return TRUE; // Eingabe im gültigen Bereich
return FALSE; // Eingabe nicht im gültigen Bereich
}
$parts = explode(':',$_POST['montagvon']);
$gueltig = check_time($parts[0], $parts[1]);
if ($gueltig === FALSE)
{
$errors[] = "Benutzer wegen falscher Eingabe beschimpfen!";
} else {
$parts[0] = [link:http://www.php.net/str-pad@title=str_pad]($parts[0], 2, "0", STR_PAD_LEFT); // Stunden links mit 0 auffüllen
$parts[1] = str_pad($parts[1], 2, "0", STR_PAD_LEFT); // evtl. Minuten links mit 0 auffüllen
$_POST['montagvon'] = $parts[0] .":". $parts[1];
}
Nicht die eleganteste Methode, aber es funktioniert.
Tschö, Auge
--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
Veranstaltungsdatenbank Vdb 0.3
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
Veranstaltungsdatenbank Vdb 0.3