Seite 1 von 1

PHP Fehlermeldung

Verfasst: 07.09.2008 21:42
von bairan
Guten Abend zusammen

Ich kann folgende PHP Code nicht ausgaben, hat jemand eine Idee wo der Fehler liegt?

Code: Alles auswählen

echo '<tr style="" onmouseout="this.style.backgroundColor = ''" onmouseover="this.style.backgroundColor = '#E3E3E3'" bgcolor="#F3F3F3">';
Meine Fehlermeldung hat geschrieben: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in C:\wamp\www\gb\admin.php on line 47
Ich finde einfach den Fehler nicht, kann mir jemand weiterhelfen?

Verfasst: 07.09.2008 21:52
von S2B
Du musst die ' im String escapen:

Code: Alles auswählen

echo '<tr style="" onmouseout="this.style.backgroundColor = \'\'"
usw.

Verfasst: 07.09.2008 21:53
von Dr.Death

Code: Alles auswählen

echo '<tr style="" onmouseout="this.style.backgroundColor = \"\"" onmouseover="this.style.backgroundColor = \"#E3E3E3\"" bgcolor="#F3F3F3">';

ESCAPEN ist die Magie......

EDIT...ich werde langsam ;-)

Verfasst: 07.09.2008 21:56
von bairan
Also nur diese hier ' oder diese auch "

Also nur die mit einem Strich oder die mit zwei Strichen auch?

Vielen dank für euere Antworten

\\ Problem behoben, vielen dank für die schnelle Hilfe

Verfasst: 07.09.2008 22:13
von igorw
Wenn du dich in doppelten quotes befindest, musst du folgende zeichen escapen: \ " $
In einfachen quotes brauchst du \ und ' zu escapen.

Beispiele:

Code: Alles auswählen

'blah'
'geht\'s gut?'
"geht's gut?"
"ich habe 30 \$ gewonnen"
'ich habe 30 $ gewonnen'
"das nennt man \"marketing\"."
'ein backslash? der sieht so aus: \\'

Verfasst: 08.09.2008 11:13
von cYbercOsmOnauT
eviL<3 hat geschrieben:Wenn du dich in doppelten quotes befindest, musst du folgende zeichen escapen: \ " $
In einfachen quotes brauchst du \ und ' zu escapen.
Nicht ganz korrekt. Er befindet sich in seinem PHP Code zwar innerhalb einfacher Quotes, jedoch wird das onmouseover mit doppelten Quotes begrenzt in dem auch wieder doppelte Quotes verwendet werden. Würde er diese doppelten nicht escapen, klappt zwar die PHP-Ausgabe, aber dann später das onmouseover nicht.

Code: Alles auswählen

onmouseover="this.style.backgroundColor = "#E3E3E3""
Holzauge sei wachsam. ;)
Gruß,
Tekin

Verfasst: 08.09.2008 23:53
von easygo
Bloß dass in dem Fall (first post) gar keine doppelten verwendet wurden, sondern einfache
- was ja auch nicht unüblich ist, schon weils nicht zwingend doppelt sein muss.