kostenloser Webspace werbefrei: lima-city


Projekt eigenes Forum - Probleme!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    h******************g

    So, ich versuche mit-hilfe diesem Tutorials ein ref="/tag/forum">Forum zu Programmieren:
    http://www.php-resource.de/tutorials/tutorial,35,Wie-schreibt-man-ein-Forum-mit-PHP-und-Mysql,1.htm

    Doch ich habe Probleme... (Kein Wunder bei einem Tutorial, dass von 2003 stammt! (Und dazu bin ich noch PHP-Neuling) :wink:)

    1. Problem: "showthreads.php":

    Fehlermeldung: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in (...) showthreads.php on line 4

    Code:
    <?php
    include ("connect.inc.php");
    $res = mysql_query("select * from threads where fid=".$_GET["fid"]);
    while($row = mysql_fetch_array($res)) {
        echo "<a href=\"showanswers.php?fid=".$row["fid"]."&tid=".$row["id"]."\">";
        echo $row["topic"]."</a><br>";
    }
    ?>


    2. Problem: "showanswers.php":

    Fehlermeldung: Parse error: syntax error, unexpected ';' in (...) showanswers.php on line 5

    Code:
    <?php
    include ("connect.inc.php");
    $res = mysql_query("select * from answers where fid=".$_GET["fid"]." AND tid=".$_GET["tid"]);
    while($row = mysql_fetch_array($res)) {
    $text = nl2br($row["text"];
    echo "<p>";
    echo "Titel des Beitrags: ".$row["topic"]."<br>";
    echo "Name des Autors: ".$row["user"]."<br>";
    echo "Nachricht: ".$text."<br>";
    echo "</p>";
    ?>


    3. Problem: "newthread_script.php":

    Fehlermeldung: Warning: Cannot modify header information - headers already sent by (output started at (...) connect.inc.php:1) in (...) newthread_script.php on line 12

    Code:
    <?php
    include ("connect.inc.php");
    $nachricht = $_POST["nachricht"];
    $topic = $_POST["topic"];
    $name = $_POST["name"];
    $fid = $_POST["fid"];
    mysql_query("insert into threads set fid='$fid', topic='$topic', created=now()");
    $res = mysql_query("select max(id) AS max from threads");
    $row = mysql_fetch_array($res);
    $thread_id = $row["max"];
    mysql_query("insert into answers set text='$text', topic='$topic', user='$name', fid='$fid', tid='$thread_id', created=now()");
    header("Location: showthreads.php?fid=".$fid);
    ?>


    4. Problem: "newanswer_script.php":

    Fehlermeldung: Warning: Cannot modify header information - headers already sent by (output started at (...) connect.inc.php:1) in (...) newanswer_script.php on line 9

    Code:
    <?php
    include ("connect.inc.php");
    $nachricht = $_POST["nachricht"];
    $topic = $_POST["topic"];
    $name = $_POST["name"];
    $fid = $_POST["fid"];
    $tid = $_POST["tid"];
    mysql_query("insert into answers set text='$text', topic='$topic', user='$name', fid='$fid', tid='$tid', created=now()");
    header("Location: showanswers.php?fid=".$fid."&tid=".$tid);
    ?>


    ...ich hatte zwar noch ein Problem mit "showforen.php", aber ich habe es (anscheinend) gelöst!

    Beitrag zuletzt geändert: 21.8.2010 20:34:16 von homepage-versammlung
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Schwöre, dass du diesen Code niemals auf einem öffentlich zugänglichen Webspace nutzen wirst, er ist unsicher.

    So, zu den Problemen:
    1. Es scheint als ob der Query fehlschlägt. Mache nach dem mysql_query bitte ein echo mysql_error();
    2. nl2br($row["text"]; Da fehlt ne Klammer )
    3. Vor header() darf keine Ausgabe erfolgen. Du gibst aber in der connect.inc.php scheinbar etwas aus. Hast du zufällig eine Leerzeile nach dem ?> in der connect.inc.php?
    4. siehe 3
  4. Autor dieses Themas

    h******************g

    Zu:

    1: Fehlermeldung: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

    2: Ich habe es geändert, aber jetzt kommt diese Fehlermeldung: Parse error: syntax error, unexpected $end in (...) showanswers.php on line 11
    <?php
    include ("connect.inc.php");
    $res = mysql_query("select * from answers where fid=".$_GET["fid"]." AND tid=".$_GET["tid"]);
    while($row = mysql_fetch_array($res)) {
    $text = nl2br($row["text"]);
    echo "<p>";
    echo "Titel des Beitrags: ".$row["topic"]."<br>";
    echo "Name des Autors: ".$row["user"]."<br>";
    echo "Nachricht: ".$text."<br>";
    echo "</p>";
    ?>


    3 und 4: Hatte ein Leerzeichen vor dem ?>, und jetzt kommt diese Fehlermeldung: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in (...) showthreads.php on line 5
    und diese: Parse error: syntax error, unexpected $end in (...) showanswers.php on line 11 - aber diese Fehlermeldungen haben ja nichts mehr mit 3 und 4 zu tun, oder? :-)

    Beitrag zuletzt geändert: 21.8.2010 21:01:39 von homepage-versammlung
  5. homepage-versammlung schrieb:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    Versuche das mal, vll. funktioniert es:
    $res = mysql_query("select * from answers where fid=".$_GET["fid"]." AND tid=".$_GET["tid"]);


    homepage-versammlung schrieb:
    Parse error: syntax error, unexpected $end in (...) showanswers.php on line 1
    Da hast du kein Schleifenende. Du machst die Schleife mit { auf, aber nie mehr mit } zu. Das muss auf jeden Fall noch rein.
  6. Autor dieses Themas

    h******************g

    Wichtig: Hab das Projekt (das Forum) gelöscht, da es zu viel Probleme gab!:slant::nosmile:

    ->
    1. (Fehlermeldung) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND tid=' at line 1
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in (...) showthreads.php on line 5

    2. Geändet:
    <?php
    include ("connect.inc.php");
    $res = mysql_query("select * from answers where fid=".$_GET["fid"]." AND tid=".$_GET["tid"]);
    while($row = mysql_fetch_array($res)) {
    $text = nl2br($row["text"]);
    echo "<p>";
    echo "Titel des Beitrags: ".$row["topic"]."<br>";
    echo "Name des Autors: ".$row["user"]."<br>";
    echo "Nachricht: ".$text."<br>";
    echo "</p>";
    }
    ?>


    Aber jetzt kommt diese Fehlermeldung: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in (...) showanswers.php on line 4

    PS: Kann mir vielleicht jemand ein anderes gutes Foren-Tutorial (das vielleicht auch sicherer ist) empfehlen?

    Beitrag zuletzt geändert: 22.8.2010 18:02:35 von homepage-versammlung
  7. Problemlösung (eventuell):

    $res = mysql_query("SELECT * FROM answers WHERE fid='".$_GET['fid']."' AND tid='".$_GET['tid']."'");


    Setzt jedoch vorraus, dass die entsprechende Datenbnak bzw. die Tabelle und die dazugehörigen Spalten existieren. Außerdem müssen fid und tid im GET existieren. Ist einer der Werte leer, kommt es zu dem entsprechenden Fehler.

    Tutorials für SICHERE eigene Forensoftwares gibt es nicht.

    Beitrag zuletzt geändert: 22.8.2010 23:10:15 von fabo
  8. Und am besten den Query mit mysql_real_escape_string(); absichern gegen SQL-Injeciton. ;-)
  9. 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!