Seite 1 von 2
T_STRING-Probleme (für Syntaxfreaks) Arrgghh..
Verfasst: 18.12.2005 22:46
von Fennias Maxim
Code: Alles auswählen
if (file_exists($itemarray[$xe].".php") && $userdata[username] == $searchname) { $itemlinkstart = "<a href=\"".$itemarray[$xe].".php\">"; $itemlinkend = "</a>"; $itemlinktxt = "Click here to use... ";}
$playeritems .= '<tr>
<td class="row1"><span class="gensmall">'.$itemlinkstart.'<img src='shop/images/$itemarray[$xe].''.$itemfilext.' title='$itemlinktxt$itemarray[$xe]' alt='$itemlinktxt$itemarray[$xe]' border='0'>'.$itemlinkend.'</span></td>
<td class="row2"><span class="gensmall"><a href='shop_iteminfo.php?action=displayitem&item= .ucwords($itemarray[$xe]). '>' .ucwords($itemarray[$xe]). '</A></span></td>
<td class="row1"><span class="gensmall">'.$descrow['ldesc'].'</td>';
}
Jedenfalls bekomme ich eine fehlermeldung in der Zeile mit dem ersten row1:Parse error unexpected T_STRING in /forum/shop.php on line 223
Ich hab die Zeile schon nach besten "Syntaxwissen" geprüft kann aber den Fehler nicht finden.
EDIT: Verdammt, das war das falsch Forum. Bitte mal nach Coding und technik verschieben. Danke!
Verfasst: 19.12.2005 14:31
von S2B
Hast du deinen Code schon mal mit einem Editor mit Syntax-Highlighting angeschaut? Wenn du das nämlich tust, siehst du schnell, wo sich der Fehler versteckt...

Verfasst: 19.12.2005 16:03
von chriss713
Solltest Du wirklich mal machen das mit dem Syntax-Highlightning!

Da ist ja (fast) mehr falsch als richtig!
Ein paar Tipps.
- HTML-Attributwerte
müssen in doppelte Anführungszeichen eingeschlossen sein, also z.B.
Einfache Anführungszeichen oder gar keine sind nicht erlaubt, auch wenn das von den meisten Browsern richtig interpretiert wird.
- um doppelte Anführungszeichen in Strings darstellen zu können, muss Du sie mittels \ escapen, z.B.
Code: Alles auswählen
$string = "<a href=\"http://www.domain.de/link.html}">"
- wenn Du zwei Variablen mittels Stringverkettung verbinden möchtest, ist es wesentlich eleganter es so zu machen
Zwischen den zu verkettenden Variablen muss nichts weiter sein als ein Punkt "."
- Es gibt einen Unterschied zwischen doppelten und einfachen Anführungszeichen. Alles, was zwischen doppelten Anführungszeichen steht, wird von geparst, d.h. das
gibt "Hallo Welt!" aus.
Wohingegegen
"Hallo $var!" ausgibt.
Verfasst: 19.12.2005 17:15
von S2B
Und noch was: Wenn du viel Quellcode mit relativ wenigen Variablen ausgeben willst, kannst du den Quellcode auch einfach direkt in die Datei schreiben, z.B. so:
Code: Alles auswählen
<?php
// dein php-Code
?>
<a href="lalala.php" target="_blank">test</a>
...
<span class="big"><?php echo $deine_variable ?></span>
Dadurch wird das ganze übersichtlicher und du siehst HTML-Fehler, solange du einen Multihighlighter verwendest.
Edit: @chriss713: Das komische ist: In den (X)HTML-Spezifikationen vom W3C steht nichts davon, dass man " anstatt ' verwenden sollte. Wenn man sie braucht, sind sie nicht da.
Verfasst: 19.12.2005 18:09
von Gast210225
@S2B: stimmt, das ist komisch, davon hab ich noch nie was gelesen.....

Aber hast du schon mal eine HTML Seite gesehen, wo ein ' benutzt wurde?
Verfasst: 19.12.2005 21:39
von chriss713
S2B hat geschrieben:Edit: @chriss713: Das komische ist: In den (X)HTML-Spezifikationen vom W3C steht nichts davon, dass man " anstatt ' verwenden sollte. Wenn man sie braucht, sind sie nicht da.
Sorry, ich nehme alles zurück und behaupte das Gegnteil, wie auch hier nachzulesen, ist es tatsächlich egal, ob " oder ' :
http://de.selfhtml.org/html/allgemein/t ... #attribute
Sorry wg. der Fehlinformation, ich war mir ganz sicher, dass es so ist! Nochmal Tschuldigung!

Verfasst: 20.12.2005 16:20
von 123teddy321
ich finde es ist besser für html ' zu verwenden, denn wenn man es mal in einen php echo() befehl setzen will, muss man es nicht erst immer diese \ vor ein " machen!
Verfasst: 20.12.2005 16:41
von Gast210225
Die andere Frage ist dann, ob es XHTML valid ist...
Verfasst: 20.12.2005 19:04
von S2B
JG hat geschrieben:Die andere Frage ist dann, ob es XHTML valid ist...
Ist es komischerweise.
@teddy: Warum nicht einfach ' für php-Strings verwenden? Das ist sowieso sinnvoller, da das parsen dann optimiert wird (der Parser muss nicht in den Strings nach Variablen suchen).

Verfasst: 20.12.2005 19:23
von Gast210225
@S2B: wo hast du geschaut, ob es Valid ist? Ich hab mal bei validator.w3.org statt " ein ' eingetippt, und er hat nicht gemotzt.