Tom: Input-value

Beitrag lesen

Hello,

Folgender Quellcode:

<?
$a ="hans jörg";
?>
<input name="name" type="text" <?php echo "value = $a";?>>

Ergibt:

Ein Eingabefeld mit dem Inhalt:

hans

Hast Du denn schon einmal versucht, den String direkt im HTML-Code zu codieren?
Dann müsste es Dir sofort klar werden, woran es liegt.

<input name="name" type="text" value = hans jörg>

Wie müsste man das nun behandeln, damit es keinen Ärger gibt?

<input name="name" type="text" value="hans jörg">

so wäre es doch schon besser, oder?

Und in PHP sähe das dann so aus:

$out = "<input name="name" type="text" value="$a">";

oder besser noch:

$out = "<input name="name" type="text" value="" . htmlspecialchars($a,ENT_QUOTES) . "">";

da man ja nicht immer wissen kann, was in $a so drinsteht. Es könnte da ja jemand

$a = 'hans "der coole" jörg';

hineingeschreiben haben, dann hast Du das Problem mit dem Parmeteranfang und -ende gelich wieder. Die Häkchen müssen also kontextgerecht codiert werden.

Und schau Dir mal im Archiv die Threads zum Thema "Affenformular" und magic Quotes an. Denn das nächste Problem, dass Du bekommen wirst, wird vermutlich der Backslash sein, wenn Du Werte aus dem Formular im Script wieder ins Formular einsetzen willst, und HTML-Sonderzeichen darin enthalten sind.

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de