Hello,
noch nicht ganz [gelöst], denn du gibst ein ungeprüftes x aus dem Usereinflussbereich in den HTML-Kontext zurück. In x kann jeder Mist drinstehen.
Hallo,
wäre es auch eine Lösung, stattx =
den Ausdruck
<var> x = </var>
Das wäre dann sicherlich bezüglich der Auszeichnung in HTML sinnvoll, hat aber nichts mit dem Inhalt des Parameters zu tun.
zu schreiben? Da kann dann m.E. nichts mehr drinstehen. Aber im Fall, den Du meinst, was könnte x (ohne var) denn für ein Konstrukt sein, wenn es "Mist" enthält? html-Variablen kenne ich bisher nicht.
Es könnte ein ganzes JavaScript drinstehen.
Das mindeste wäre also, zu schreiben:
<form name="Formular" method="post" enctype="multipart/form-data">
<?php if (! isset($_POST["x"]))
{
$_POST["x"]=3.1415;};
?> }
x = <input type="text" name="x" value="<?php echo htmlspecialchars($_POST["x"]); ?>" />
----------------
</form>
um zu verhindern, dass das JavaScript als solches erkannt werden kann am Client.
Besser wäre es eben, das Format des Post-Parameters x zu überprüfen. Das geht z.B. mit den Filterfunktionen sehr bequem. Wenn diese dann meckern, setzt Du den Default-Wert ein und/oder schaltest das Feld im Hintergurnd auf rot (als Beispiel).
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg