Valid oder Funktionierend?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
attribut
ausgabe
code
cool code
cool echo
dank
ersetzt code
folgenden fehler
folgendes problem
frage
http
kategorie
sagen
solls
sonderzeichen
string
stunden
umwandlung
unwissenheit
vorlage
-
Keine Ahnung, ob das eher in diese oder in die HTML-Kategorie passt...
Weiß nicht viel über PHP, entschuldigt meine Unwissenheit.
Ich will ein Gästebuch für meine Homepage machen. Hab dazu eine Vorlage von gaijin.at (http://www.gaijin.at/scrphpgbook.php) genommen.
Leider ist das für HTML 4.01 verfasst, meine Homepage ist in XHTML 1.0 geschrieben.
Bei der Umwandlung von HTML zu XHTML gibt es jedoch folgendes Problem:
Ich habe PHP-Code, der anscheinend HTML-Code ausgibt. Zum Beispiel:
echo \"<table border=0 cellspacing=0 cellpadding=1 width=570><tr><td id=guestbooktable>\";
XHTML-konform wäre:
echo \"<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\" width=\"570\"><tr><td id=guestbooktable>\";
Die \"\" irritieren jedoch den Browser anscheinend, da ich dann folgenden Fehler bekomme:
Parse error: syntax error, unexpected T_LNUMBER, expecting \',\' or \';\' in /home/webpages/lima-city/keingerede/html/SOWIZO/guestbook.php on line ***
Was nun? Muss ich mich damit abfinden, dass mein Gästebuch nicht valid und funktionierend gleichzeitig sein kann, oder gibs da eine Möglichkeit, die sowohl mich als auch das W3C zufrieden stellt? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ja, das Problem bekommst du durch die Anführungszeichen.
So solls gehn :
echo \"<table border=\'0\' cellspacing=\'0\' cellpadding=\'1\' width=\'570\'><tr><td id=\'guestbooktable\'>\";
Greez dapizzafressa -
Vielsten Dank!
-
Du kannst die \" auch escapen.
echo \"<table border=\\\"0\\\" cellspacing=\\\"0\\\" cellpadding=\\\"1\\\" width=\\\"570\\\"><tr><td id=\\\"guestbooktable\\\">\";
Gehört schon zu PHP ;) -
Ist das nicht schon veraltet? Vielleicht verwechsle ich auch was...
-
nein, dass mit den \\\" ist sicher nicht veraltet :)
und solange es funzt ist es eig. auch sch*** egal, wie alt die funktion ist :P
lg
Sincer -
Da hab ich wohl was verwechselt... Vielleicht weiß ja wer, was ich meine, jedenfalls ist das mit PHP4 gestorben... ^^
Danke auch dir! -
Ich empfehle für PHP Strings die einfachen Anführungszeichen zu verwenden und für HTMl Attribute doppelte Anführungszeichen zu nehmen.
Der Unterschied zwischen \' und \" in PHP ist, dass alles, was zwischen \' und \' steht, als normaler Text interpretiert wird. Alles, was zwischen \" und \" steht, wird jedoch nach Sonderzeichen geparst und ersetzt!
$foo=\'lima ist cool!\'; echo $foo;//ausgabe: lima ist cool! echo \"Ich sage $foo\";//ausgabe: Ich sage lima ist cool! echo \'Ich sage $foo\';//ausgabe:Ich sage $foo echo \'Ich sage \'.$foo;//ausgabe: Ich sage lima ist cool!
Ich empfehle die letzte Variante, weil sie sauberer und ein bißchen performanter ist. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage