Hi!
Hallo!
Und was wäre, wenn jemand ein Leerzeichen in das Eingabefeld eingetippt hat?
Eventuell wäre eine Prüfung auf !empty(trim($_POST['eingabe'])) besser.
Das war nur ein Beispiel ohne jede Prüfung. Normalerweise mache ich das schon.
PHP ist keine streng typisierte Sprache.
Ich weiß.
Wie sollte erkannt werden, ob es sich bei dem übergebenen POST-Parameter um einen String, einen boolschen Wert, eine Ganzzahl oder sonstwas handelt?
Beim typsicheren Vergleich oder $_POST['eingabe'] != "" erkennt es doch auch richtig, welcher Typ abgefragt werden soll. Ich würde eben das gleiche Verhalten von empty() erwarten. Daß dem nicht so ist, was ich ja. Ich finde nur, PHP sollte nach dem Prinzip der geringsten Überraschung Argumente auswerten.
Führe einen typsicheren Vergleich durch. Mit $_POST['eingabe']!=="" sollte "0" bzw. 0 nicht mehr als leer angesehen werden (bzw. TRUE beim Vergleich mit deinem leeren String ergeben).
Wieso ergibt $_POST['eingabe']!=="" bei einem leeren String true? Um "0" durchzulassen langt aber schon $_POST['eingabe'] != "".