Moin!
<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?
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.
- 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... :)
- & wieder erlauben
Warum?
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?
Welche Kontextwechsel könnten noch nicht berücksichtigt sein, welche sonstigen Hinweise sind noch zu geben?
Siehe oben...
- Sven Rautenberg