kostenloser Webspace werbefrei: lima-city


T_Sring Fehler wo ist er?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    gnoraz

    gnoraz hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. a******9

    also... der code is zu 99% falsch^^


    ich w?rds mal so probieren: :wink: (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
  4. duesentrieb73

    duesentrieb73 hat kostenlosen Webspace.

    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.
  5. Autor dieses Themas

    gnoraz

    gnoraz hat kostenlosen Webspace.

    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
  6. duesentrieb73

    duesentrieb73 hat kostenlosen Webspace.

    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
  7. Autor dieses Themas

    gnoraz

    gnoraz hat kostenlosen Webspace.

    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 :(
  8. 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
  9. Hi,

    nein, das stimmt auch nicht :biggrin:.

    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
  10. 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
  11. Autor dieses Themas

    gnoraz

    gnoraz hat kostenlosen Webspace.

    Danke euch Leuz hat sich erledigt *g* war nur ein Semikolon weiter oben im Script :D
  12. Sch?n f?r dich! :wink:

    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
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!