• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

input type="number" und empty();

hallojs

Mitglied
Hallo,

ich habe ein Formular und darin Eingabefelder des Typs "number". Nun überprüfe ich nach dem Absenden des Formulars die Eingaben mit:
PHP:
isset($_POST['h_t_ergebnis']) && empty($_POST['h_t_ergebnis']) == FALSE
um im Gegenfall eine Fehlermeldung auszugeben. So weit funktioniert das auch, aber wenn als Wert 0 in das Formular eingetragen wird erhalte ich auch die Fehlermeldung. Dies liegt wohl an der Funktion empty(), die auch bei dem Wert 0 FALSE liefert. Und es scheint so zu sein, dass das Formular den Wert 0 liefert auch wenn gar nichts eingetragen ist. Ich möchte gerne das die Fehlermeldung nur erscheint wenn wirklich nichts in das Formular eingetragen ist und das der Wert 0 akzeptiert wird. Könnte mir vielleicht jemand auf die Sprünge helfen? Danke schon einmal!

Schöne Grüße
hallojs

PS: Ich bin immer davon ausgegangen wenn das Formular leer abgeschickt wird liefert es "NULL"!?
 
Ich hab's mal ausprobiert: Sowohl ein Textfeld als auch ein Numberfeld liefern einen Leerstring, wenn sie nicht belegt sind, d. h. das Numberfeld nicht 0. Allerdings liefert empty() TRUE wenn der Wert 0 ist. D. h. empty() ist für deinen Zweck nicht geeignet, sondern Du musst den Parameter auf Leerstring testen.
 
Hallo Sempervivum,

erstmal vielen Danke für deine Schnelle Antwort. Und das du das sogar getestet hast... Könntest du mir noch zeigen wie das Prüfen auf einen Leerstring funktioniert?

Danke!
hallojs
 
Ganz einfach, Variable mit Leerstring vergleichen:
PHP:
isset']isset($_POST['h_t_ergebnis']) && $_POST['h_t_ergebnis'] != ""[php]
 
Zurück
Oben