Om nah hoo pez nyeetz, Sven Rautenberg!
<form>
...
<input type="text" name="person">
<label for="notiz">Ihre Bemerkungen:<textarea id="notiz" name="notiz" rows="2"></textarea></label>
...
</form>
> >
>
> > Sollte ein schon bestehender Datensatz aufgerufen werden, wird das Formular gefüllt durch
> >
> > ~~~php
echo "f.person.value = '" . str_replace('&','&',htmlspecialchars(substr(json_encode($gkind['name']),1,-1), ENT_NOQUOTES, $double_encode = false)) . "';\n";
> > echo "f.notiz.value = '" . str_replace('&','&',htmlspecialchars(substr(json_encode($gkind['notiz']),1,-1), ENT_NOQUOTES, $double_encode = false)) . "';\n";
Und wo hinein echost du das?
In ein script-Element eines HTML-Dokuments
zum schnelleren Lesen:
- json_encode
Im Javascript-Kontext notwendig.
- die begrenzenden Anführungszeichen entfernen
Warum? json_encode liefert die mit, warum was eigenes produzieren? Das Escaping der Anführungszeichen innen basiert auf den Anführungszeichen außen.
Also in echo "f.person.value = '"
einfach das '
weglassen
- htmlspecialchars
Mit NOQUOTES - was ich erstmal für problematisch halte. Warum dies? -- Relevant ist dafür allerdings der Kontext, in dem die Ausgabe stattfindet, und den enthälst du ja schon wieder vor... :)
Die Ausgabe erfolgt im HTML-Formular als Werte von einem Textarea- bzw. Input-Element, ich dachte, das geht aus meinem Posting hervor
- & wieder erlauben
Warum?
Damit die "Laus" & Klaus nicht zu die "Laus" & Klaus wird.
Das htmlspecialchars ist erst nach diesem Thread dazugekommen. Ist das hier wirklich notwendig? Jedenfalls kann ich als Person auch </script> eingeben, ohne das das Script abgebrochen wird.
Kontext?
s.o.
Matthias
1/z ist kein Blatt Papier.
