T_Sring Fehler wo ist er?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
befehl
beitrag
cross
design
editor
ergebnis
error
eventuelle abhilfe
fehler
fehlermeldung
inhalt
quelltext
result
schauen
semikolon
verbessert
verbesserung
verursacht
vorteil
zeile
-
Ichs uche schon wie ein verr?ckter aber ich finde ihn nicht
$ergebnis = mysql_query($sql) OR die(mysql_error());
while ($row = mysql_fetch_assoc($ergebnis)) {
echo' <table>
<tr>
<th>Titel:".$row['Autor']."</th>
<th>".$row['Titel']."</th>
<th>".$row['Datum']."</th>
</tr>
<tr align="left">
<th colspan="3" width="300">".nl2br($row['Inhalt'])."</th>
</tr>
</table>
<br><br><br>';
Beim ersten </tr> soll er sein doch ich finde nichts kann mir jemand helfen ?
Danke im voraus
mfg Gnoraz
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
also... der code is zu 99% falsch^^
ich w?rds mal so probieren: (am besten immer nach diesem prinzip coden in php)
$ergebnis = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_assoc($ergebnis)) {
echo "<table>
<tr>
<th>Titel:".$row['Autor']."</th>
<th>".$row['Titel']."</th>
<th>".$row['Datum']."</th>
</tr>
<tr align='left'>
<th colspan='3' width='300'>".nl2br($row['Inhalt'])."</th>
</tr>
</table>
<br><br><br>";
oder aber
echo "<table>
<tr>
<th>Titel:".$row['Autor']."</th>
<th>".$row['Titel']."</th>
<th>".$row['Datum']."</th>
</tr>
<tr align=\"left\">
<th colspan=\"3\" width=\"300\">".nl2br($row['Inhalt'])."</th>
</tr>
</table>
<br><br><br>";
sollte der fehler noch auftauchen, dann liegt der fehler in zeilen dar?ber, die es ausl?sen, dass der echo befehl nicht geht
mfg andy -
Also der code ist nicht so ganz falsch, du hast nur eins nicht beachtet. Du mixt hier einfache und doppelte Anf?hrungszeichen durcheinander:
$ergebnis = mysql_query($sql) OR die(mysql_error()); while ($row = mysql_fetch_assoc($ergebnis)) { echo' <table> <tr> <th>Titel:'.$row['Autor'].'</th> <th>'.$row['Titel'].'</th> <th>'.$row['Datum'].'</th> </tr> <tr align="left"> <th colspan="3" width="300">'.nl2br($row['Inhalt']).'</th> </tr> </table> <br><br><br>';
Der Vorteil von einfachen Anf?hrungszeichen ist das man hier doppelte hineinschreiben kann ohne sie zu escapen. Du hast nur den Fehler gemacht das du den String den du mit Echo ausgeben willst unterbrichst und zwar mit einem andern Zeichen als du ihn begonnen hast.
Die Aussage das man alles in doppelte schreiben muss kann ich nicht teilen. Es gibt Konstruktionen von Code in denen man nicht umher kommt einfache zu benutzen. -
Gut ich hab die zweite L?sung mal in meinen Code eingetragen und bekomme nun folgenden Fehler:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/webpages/lima-city/gnoraz/html/news.php on line 35 -
Hmm.. gute Frage. Liegt das vielleicht an der Funktion nl2br() diese sucht nach Steuerzeichen innerhalb eines Strings und ersetzt \n mit <br \> so laut Description.
Bringt das eventuelle abhilfe:
echo '.. width="300">' echo nl2br($row['Inhalt']; echo '</th>...'
An welcher Stelle befindet sich Zeile 35?
Beitrag ge?ndert am 31.01.2006 19:28 von duesentrieb73
Beitrag ge?ndert am 31.01.2006 19:29 von duesentrieb73 -
Ich habe das nun alles mal bisschen ausprobiert und bekomme aber immernoch diese Fehlermeldung
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/webpages/lima-city/gnoraz/html/news.php on line 33
echo'<table>';
echo'<tr>';
echo'<th>Titel:'.$row['Autor'].'</th>'; <--- Hier!
echo'<th>'.$row['Titel'].'</th>';
echo'<th>'.$row['Datum'].'</th>';
echo'</tr>';
echo'<tr align="left">';
echo'<th colspan="3" width="300">';
echo'.nl2br($row['Inhalt']).';
echo'</th>';
echo'</tr>';
echo'</table>';
echo'<br>';
echo'<br>';
echo'<br>';
Ich verzweifle langsam und weiss nicht mehr weiter es will einfach nicht funktionieren aber das hat es schonmal und pltzlich ging es nicht mehr :( -
schon wieder ein fehler mit den ' und "
also so sollte es gehen:
echo'<table>'; echo'<tr>'; echo'<th>Titel:'.$row[Autor].'</th>'; echo'<th>'.$row[Titel].'</th>'; echo'<th>'.$row[Datum].'</th>'; echo'</tr>'; echo'<tr align="left">'; echo'<th colspan="3" width="300">'; echo''.nl2br($row[Inhalt]).''; echo'</th>'; echo'</tr>'; echo'</table>'; echo'<br>'; echo'<br>'; echo'<br>';
edit:
habe meine verbesserungen nochmal verbessert ;)
Beitrag ge?ndert am 5.02.2006 19:06 von dussel -
Hi,
nein, das stimmt auch nicht .
Es muss so aussehen:
echo'<table>'; echo'<tr>'; echo'<th>Titel:'.$row[Autor].'</th>'; echo'<th>'.$row[Titel].'</th>'; echo'<th>'.$row[Datum].'</th>'; echo'</tr>'; echo'<tr align="left">'; echo'<th colspan="3" width="300">'; echo nl2br($row['Inhalt']); // Hier war der Fehler echo'</th>'; echo'</tr>'; echo'</table>'; echo'<br>'; echo'<br>'; echo'<br>';
Alles klar?
mfg,
hr -
Denkt auch wer an CSS(Cross Site Scripting)?
Au?erdem ist der Quelltext ein wenig un?bersichtlich und nicht XHTML konform.
Geht einfacher und besser und zwar so :
$design = ' <table> <tr> <th> Titel : %s </th> <th> %s </th> <th> %s </th> </tr> <tr style="text-align: left;"> <th colspan="3" style="width: 300px;"> %s </th> </tr> </table> <br /><br /><br />'; $result = mysql_query ( $sql ) OR die ( mysql_error () ); while ( $res = mysql_fetch_array ( $result ) ) { printf ( $design, htmlentities ( $res['Titel'] ), htmlentities ( $res['Autor'] ), htmlentities ( $res['Datum'] ), nl2br ( htmlentities ( $res['Inhalt'] ) ) ); }
MfG Lucas -
Danke euch Leuz hat sich erledigt *g* war nur ein Semikolon weiter oben im Script :D
-
Sch?n f?r dich!
Ich geb dir trotzdem noch ein paar Tipps mit auf den Weg:
Besorg dir einen Editor mit Syntax-Highlighting. Da f?llt dir sofort auf, wenn du " und ' durcheinderw?rfelst.
Wenn du Fehlermeldungen bekommst, dann schau dir nicht nur die bem?ngelte Zeile an, sondern auch ein paar Zeilen davor. Die Fehlermeldung wird meist durch fehlerhaten Quellcode verursacht, der etwas weiter oben steht.
Schau dir die Fehlermeldung genau an. Meistens sagt dir PHP auf Englisch, dass es ein unerwartetes Zeichen gefunden hat und manchmal auch, welches Zeichen es denn hier gerne gesehen h?tte.
Welche Zeichen f?r die lustigen T_XXX-Codes stehen, kannst du hier sehen:
http://de.php.net/manual/de/tokens.php -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage