Formular- Hidden-feld verliert Daten nach leerzeichen !?
Herbert
- php
0 Achim0 Sönke Tesch
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
Es fehlen die Anführungszeichen um den value-Wert
echo "<input type=hidden name=vfstrasse value='$vfstrasse'>";
gruß
Achim
... ein dickes grosses DANKE
ich merke, dass es für heute reicht
... ein dickes grosses DANKE
Ja richtig!
Haut Ihn!
Er hat hier gefragt _ohne_ seinen Quelltext vorher zu validieren. Und genau daran lag es.
fastix®
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