dedlfix: Input-value

Beitrag lesen

echo $begrüßung;

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) . "">";

Wennd er OP schon den größten Teil des HTML-Codes außerhalb eines PHP-Blocks lagert, …

<input name="name" type="text" <?php echo "value = $a";?>>

… dann würde ich den nicht ohne Notwendigkeit ins PHP hineinholen wollen, mit den Folgen, dass man nun auch noch alle " beachten und behandeln muss. Es tät ja reichen, das feststehende value=" und das abschließende " nach außen zu holen und sich im PHP-Block auf die Ausgabe des Wertes zu konzentrieren:

<input name="name" type="text" value="<?php echo htmlspecialchars($a) ?>">

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.

Ähm, nein. Beziehungsweise: Das ist missverständlich formuliert. Die HTML-eigenen Zeichen haben beim Einbringen in den HTML-Kontext eine Sonderbeachtung nötig. Wenn Daten aus einem Request im PHP-Script landen, dann ist das einerseits kein HTML-Kontext, andererseits, wenn Magic Quotes aktiv sind, sind davon andere Zeichen betroffen, von denen " und ' nur zufälligerweise auch im HTML-Kontext Sonderzeichen sind. Einen direkten Zusammenhang zwischen den HTML-Sonderzeichen und den von den Magic Quotes betroffenen gibt es nicht.

echo "$verabschiedung $name";