Tom: Zurücksenden einer Formulareingabe an das Formular

Beitrag lesen

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, statt

x =
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

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de