Herbert: Formular- Hidden-feld verliert Daten nach leerzeichen !?

Hallo, wer kann mir helfen !
bei versenden eines Formularfeldes kommt nur ein Teil im anderen Programm an. Woran könnte das liegen?
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 >";

wenn daten abgeschickt werden klappt das wunderbar,
!!! 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?
Viele Grüße
Herbert

  1. Es fehlen die Anführungszeichen um den value-Wert

    echo "<input type=hidden name=vfstrasse value='$vfstrasse'>";

    gruß
       Achim

    1. ... ein dickes grosses DANKE
      ich merke, dass es für heute reicht

      1. ... ein dickes grosses DANKE

        Ja richtig!

        Haut Ihn!

        Er hat hier gefragt _ohne_ seinen Quelltext vorher zu validieren. Und genau daran lag es.

        fastix®

  2. 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