Mahlzeit MisterJ,
Das hätte dir der Validator auch gesagt.
Ja, aber der hätte mir noch mehr gesagt. Weil mein Code noch voller Fehler steckt...
Na, dann hoffe ich mal, dass das Motivation genug ist ... ;-)
Achso, jetzt noch der richtige Code:
<input type='text' value='".$hobbys."' disabled='disabled' size='40'>
Falsch. Der "richtige" Code wäre folgender:
$foo = sprintf('<input type="text" value="%s" disabled="disabled" size="40">', htmlspecialchars($_POST['hobbys']));
Warum?
1. Durchgehend einheitliche Verwendung von verschiedenen Anführungszeichen für verschiedene Sprachen/Funktionalitäten o.ä.
2. sprintf() zeigt übersichtlicher, wie der String, der zusammengesetzt wird, eigentlich tatsächlich als Ganzes aussieht, ohne dass man sich zwischen 1000en von Anführungszeichen und Variablen verliert.
3. htmlspecialchars() sorgt dafür, dass das, was ausgegeben wird, dem Kontext entsprechend behandelt wird - in diesem Fall HTML. So werden u.a. alle " in " verwandelt, was innerhalb des "value"-Attribut eines <input>-Elements absolut notwendig ist, sonst hast Du wieder die gleiche Grütze wie vorher.
4. Die direkte Verwendung von $_POST[] sorgt dafür, dass man eindeutlich erkennen kann, woher der Wert stammt, der dort in dem <input>-Element ausgegeben wird.
-.-
Was auch immer das bedeuten mag ...
Denk dir was aus^^
echo 'Parse error in line '.__LINE__;
MfG,
EKKi
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|