Ich und mein Debugger finden den Fehler nicht!
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anschauen
bedeutet code
beschreibung
code
date
datum
email
fehler
fragment
hit
http
kommentar
kommentieren
limit
machen
ordern
problem
sinn
url
zuweisung
-
Hallo,
ich habe ein Problem: mein PHP-Code hat anscheinend einen Fehler (denn ich bekomme auf meiner Seite nichts angezeigt), aber ich und mein PHP-Debugger finden den Fehler nicht!
Vielleicht könnt Ihr den Fehler finden (Alle SQL-Daten sind richtig):
$sql = "SELECT id, DATE_FORMAT(datum, '%d.%m.%Y') as datum, name, beschreibung, zip, screen, hits, anschau_link, (rating_summe/rating_anzahl) as rating, art, autor, benuetzt, autor_detail, autor_demo, self FROM free_webdesign WHERE id = '".mysql_real_escape_string($_GET['id'])."' LIMIT 1 "; $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error()); if (mysql_num_rows($result) == 0) { §appbody .= "<div class=\"fehler\">Dieses Webdesign existiert nicht!</div>"; } while ($row = mysql_fetch_assoc($result)) { §appbody .= '<div class="xis"> <div class="i"> <div class="io"> <div class="ioi"> Infos: </div> </div> <div class="im"><div class="imi">'; if ($row['autor'] == '') { $autor = 'celzekr'; } else { $autor = "<a href=\"index.php?section=user&name=".nocss($row['autor'])."\">".nocss($row['autor'])."</a>"; } if ($row['benuetzt'] == '0') { $benuetzt = 'HTML, CSS'; } else { $benuetzt = nocss($row['benuetzt']); } §appbody .= "<b>Autor</b>: ".$autor."<br>"; §appbody .= "<b>Datum</b>: ".nocss($row['datum'])."<br>\n"; §appbody .= "<b>Downloads</b>: ".nocss($row['hits'])."<br>\n"; §appbody .= "<b>Bewertung</b>: ".nocss($row['rating'])."<br>"; §appbody .= "<b>Benützt</b>: ".$benuetzt."<br>"; if ($row['self'] == '1') { $anschauen = "http://fadeout.de/thumbshot-pro/?scale=4&url=http://celzekr.tk/".nocss($row['anschau_link'])."&effect=2"; } else { $anschauen = "".nocss($row['autor_demo']).""; } §appbody .= ' </div></div> <div class="iu"> <div class="iui"> </div> </div> </div> </div> <div class="b"><div class="bo"><div class="boi">'.nocss($row['name']).':</div> </div><div class="bm"><div class="bmi"> <div class="news"> <table> <tr> <td> <img class="wdimg" src="'.$anschauen.'" alt=""> </td> <td> <div class="text2"> '.nocss($row['beschreibung']).' </div> </td></tr> </table> </div> </div></div><div class="bu"><div class="bui">'; if ($row['self'] == '1') { §appbody .= "<a href=\"anschauen.php?link=".nocss($row['anschau_link'])."\">Anschauen</a> <a href=\"index.php?section=ip&action=http://celzekr.tk/".nocss($row['zip'])."\">Download (.zip)</a><br><br>\n"; } else { §appbody .= "<a href=\"".nocss($row['autor_demo'])."\">Anschauen</a> <a href=\"".nocss($row['autor_detail'])."\">Details / Download</a><br><br>\n"; } §appbody .= '</div></div></div><div class="b"><div class="bo"><div class="boi"> Kommentare: </div> </div><div class="bm"><div class="bmi">'; $sql555 = "SELECT id, autor, design_id, comment, date FROM design_comments WHERE design_id = '".$row['id']."' ORDER BY date DESC "; $result555 = mysql_query($sql555) OR die("<pre>\n".$sql555."</pre>\n".mysql_error()); while ($row555 = mysql_fetch_assoc($result555)) { §appbody .= "<div class=\"comment\"><b>Geschrieben von: ".nocss($row555['autor'])." am: ".nocss($row555['date'])."</b><br>".nocss($row555['comment'])."</div>\n"; } if(isset($_POST['submit']) AND $_POST['submit'] == "Kommentieren") { if(empty($_REQUEST['comment']) || empty($_REQUEST['name'])) { §appbody .= "<div class=\"fehler\">Bitte geben Sie Ihren Kommentar und Ihren Namen ein!</div>"; } elseif(isset($_POST['email']) && $_POST['email']) { §appbody .= "<div class=\"fehler\">You are an SPAM-Bot!</div>"; } else { $bodynachricht = parse_bbcode(mysql_real_escape_string($_REQUEST['comment'])); mysql_query("INSERT INTO design_comments (autor, design_id, comment, date) VALUES ('".mysql_real_escape_string($_REQUEST['name'])."','".$row['id']."','".$bodynachricht."',now())"); §appbody .= "<div class=\"erfolg\">Sie haben den Kommentar eingetragen.</div>"; header("Location: http://celzekr.tk/index.php?site=design&id=".$row['id'].""); } } §appbody .= ' <br><form action="index.php?site=design&id='.nocss($row['id']).'" method="post"> <p class="hallo"> <label for="email">Ihre eMail wird nicht abgefragt, tragen Sie auch hier bitte NICHTS ein:</label> <input id="email" name="email" size="60" value="" /> </p> Kommentar schreiben: <br> <textarea id="nachricht" class="li" name="comment" cols="40" rows="5"></textarea> <br> Ihr Name: <input class="li" type="text" name="name"><br> <input class="lb" name="submit" type="submit" value="Kommentieren"> </form> </div></div><div class="bu"><div class="bui"></div></div></div>'; }
Vielleicht ist es noch hilfreich zu wissen, dass der Code in einer Datenbank gespeichert ist und über eval() ausgeführt wird -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dreamweaver streicht mir alle von dir verwendeten "§appbody"s als Syntaxfehler an.
Ich weiß nicht wofür die benötigt werden, Paragraphenzeichen in PHP Code habe aber auch ich noch nie gesehen. -
... deshalb aus § einfach $ machen.
-
Habe ich mir auch gedacht, der ganze Code ergibt aber dann schlicht und einfach keinen Sinn mehr, denn wieso wird fünfmal nacheinander einer Variable ein Wert zugewiesen wenn diese in dieser Zeit gar nicht verwendet wurde.
-
czibere schrieb:
ra1n schrieb:
das
... wieso wird fünfmal nacheinander einer Variable ein Wert zugewiesen wenn diese in dieser Zeit gar nicht verwendet wurde.$appbody .= "...";
ist keine zuweisung! daher macht wohl sinn ;)
Das stimmt so nicht.
Unabhängig davon, welchen Wert $appbody vorher hat, und ob es vorher leer ist oder nicht, bedeutet
$appbody .= "...";
nichts anderes als
$appbody = $appbody . "...";
Ich sehe darin keinen Fehler!? -
burgi schrieb:
in seinem fall schon, wenn man den ganzen script vorstellt, wobei ganze teile dessen mit sicherheit fehlen.
... Das stimmt so nicht.Unabhängig davon, welchen Wert $appbody vorher hat, und ob es vorher leer ist oder nicht, bedeutet
nicht böse sein: er hat die selbe passage 16 mal in dem script in diverse if-s verwickelt! (was man wegen einrückungswirrwarr nicht unbedingt entziffern möchte!)
$appbody .= "...";
nichts anderes als
$appbody = $appbody . "...";
Ich sehe darin keinen Fehler!?
ob das so in dieser form fehlerbehaftet ist o. nicht kann man aus dem fragment nicht eindeutig vorhersagen. -
fabo schrieb:
... deshalb aus § einfach $ machen.
Danke, Fehler gelöst!
(Der Code wird in einem von mir erstellten CMS eingebunden und $appbody wird erst später ausgegeben, weshalb ich keine "echo" verwenden kann.) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage