phpbar.de logo

Mailinglisten-Archive

AW: [php] Anfängerfrage

AW: [php] Anfängerfrage

Dennis Sterzenbach php at radds.de
Fre Jul 29 16:46:25 CEST 2005


Dirk Heyden wrote:
> Hallo Dennis
> 
> Danke für die schnelle Hilfe.. Hat super geklappt..
> 
> Aber kannst du mir noch kurz erklären, wo mein Denkfehler war?
Du machst mit echo "....".$i."..."
einen zusammengesetzten String.

Das HTML-Attribut  value=  erwartet aber " um die Angabe.

Die " schließen und öffnen bei dir aber PHP-seitig den String. Somit
kommt beim Browser nicht
  value="Ich bin ein String mit Leerzeichen"
sondern
  value=Ich bin ein String mit Leerzeichen
an. Der Browser versucht dann value=Ich zu nehmen und den Rest des
Textes als Teile des HTML-Tags zu interpretieren.

Man sollte generell immer die Werte für HTML-Attribute in " packen, auch
wenn es theoretisch nicht notwendig wäre (z.B. bei width=8 sollte man
lieber width="8" machen).
 - Jedenfalls ist das meine Erfahrung.

Mein Tip: Verwende für sowas am besten printf() [1] oder sprintf() [2],
damit kannst du den String dynamisch zusammenpacken und bekommst mehr
Übersicht rein, dann noch ' für deine Strings im PHP, dann brauchst du
die " nicht maskieren und PHP parse'd weniger (=> bissel schneller):
  $meinString = 'Ich bin ein Test';
  printf('<input type="text" value="%s" name="xyz">', $meinString);
Ergebnis:
<input type="text" value="Ich bin ein Test" name="xyz">

[1] http://www.php.net/printf
[2] http://www.php.net/sprintf

Viele Grüße
-- 
  Dennis Sterzenbach

php::bar PHP Wiki   -   Listenarchive