cr87: Verständnisfrage Formularvalidierung

Beitrag lesen

Hallo zusammen, ich habe eine Frage bzgl. der Validierung von Eingabefeldern (Textfelder) in Userforms.

Ich habe dazu folgenden Beispielcode erstellt und lasse ihn in 3 unterschiedlichen weisen Ausgeben. Das Phänomen was ich mir nicht erklären kann ist, dass das Zeichen < nicht verarbeitet wird, alle anderen Zeichen werden unter 1 ganz normal ausgegeben.

Kann mir jemand sagen, woran das liegt (also warum der Filter so agiert) und was man für eine Validierung von Text besser nutzen kann/sollte unter Berücksichtigung aller Sonderzeichen?

echo "<form accept-charset=\"utf-8\" action=\"\" method=\"post\">";
echo "<input type=\"text\" id=\"value\" name=\"value\" value=\"\" autocomplete=\"off\">";
echo "<input type=\"submit\">";
echo "</form>";

$POST_value = ""; if(isset($_POST['value'])) { $POST_value = filter_input(INPUT_POST, 'value', FILTER_SANITIZE_STRING); }
	
echo "1".$POST_value."<br><br>";
echo "2".htmlentities($POST_value)."<br><br>";
echo "3".$_POST['value'];