Sönke Tesch: Formular- Hidden-feld verliert Daten nach leerzeichen !?

Beitrag lesen

Habe in Programm ein feld $vfstrasse mit Inhalt  Hauptstrasse 24
habe nun ein Formular eingebaut mit anweisung:
echo "<input type=hidden name=vfstrasse value=$vfstrasse >";

!!! aber im empangenden Programm hat die variable $vfstrasse nur noch den wert <Hauptstrasse>   ( die 24 fehlt )
Warum wird nicht der ganze Inhalt übertragen? was mache ich falsch?

Wirf mal einen Blick in den Quelltext, der beim Browser ankommt. Dort steht in etwa folgendes:

<input type=hidden name=vfstrasse value=Hauptstrasse 24 >

Falls Dir da noch nichts dran auffällt, überlege Dir mal, wie ein Browser HTML-Tags in Einzelteile zerlegt. Falls Dir das auch noch nichts hilft, überlege Dir, wozu es Anführungszeichen gibt und warum die in HTML eigentlich um _jedes_ nicht-numerische Argument gehören.

Und sobald Du dieses Problem beseitigt hast, überlege Dir gleich noch, was passiert, wenn ein böser Mensch kommt und statt

Hauptstraße 24

den Text

"><script type=text/javascript>while (true) alert("Hallo!");</script><"

eintippt (nb: es darf auch in jedem anderen Formularfeld sein). Informiere Dich in diesem Zusammenhang über die Funktion htmlentities().

Gruß,
  soenk.e