Hallo,
Da käme die von Martin angesprochene Rundung der Werte zu Zuge. Zudem müsste ja auch der Trenner („:“) und die Plausibilität der Eingabe geprüft werden (siehe Zaunpfahl). Machbar ist das und es erleichtert die Eingabe ungemein, nicht durch eine ellenlange Liste scrollen zu müssen, wenn man 21:45 auswählen möchte.
Ich hatte vor einiger Zeit mal ein JavaScript bzw. eines von jQuery wo genau das geprüft hat. Finde ich leider nicht mehr.
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;
}
// testcode
$zeiten = array();
$zeiten[] = '1:44';
foreach($zeiten as $zeit)
{
echo $zeit.' ist ';
if(check_time($zeit))
{
echo 'gueltig';
}else
{
echo 'falsch';
}
echo '
';
}
Diese scheint recht gut zu funktionieren ABER wenn ich 1:44 eingebe sagt die Ausgabe gültig! OK, diese Uhrzeit gibt es auch ABER ich brauch eine 0 davor.
Dann hätte ich noch eine zweite Frage. Die Eingabe sieht bei mir so aus
<form name="form1" method="post" action="">
<label for="montagvon"></label>
<input type="text" name="montagvon" id="montagvon"> - <input type="text" name="montagbis" id="montagbis"> und von
<input type="text" name="montagvon_nachmittag" id="montagvon_nachmittag"> - <input type="text" name="montagbis_nachmittag" id="montagbis_nachmittag"> und von
<label for="dienstaggvon"></label>
<input type="text" name="dienstagvon" id="dienstagvon"> - <input type="text" name="dienstagbis" id="dienstagbis"> und von
<input type="text" name="dienstagvon_nachmittag" id="dienstagvon_nachmittag"> - <input type="text" name="dienstagbis_nachmittag" id="dienstagbis_nachmittag"> und von
</form>
Mit PHP Prüfe ich meine Eingaben so
if(empty($_POST['montagvon'])) {
$errors[] = "WAS MUSS HIER REIN";
}
aber wie muss ich nun die oben genannten Funktion anwenden?