Olaf Rühenbeck: HILFE! Gästebuch mit php und mysql(mit quelltext)

HI Ich habe vor ein Paar Wochen angefangen mit php, und habe jetzt versucht ein gästebuch zu schreiben... kann mir wer helfen?
Hier ist der Quelltext:

<?php
$dbhost="localhost";
$dbuser="xxxxxx";
$dbpasswd="xxxxxxx";
$dbname = "user_web293_1";
$dblink = mysql_connect($dbhost,$dbuser,$dbpasswd);
mysql_select_db($dbname, $dblink);
$eintraege = mysql_query("select * from gb order by eintragsid DESC");
?>
<html>
<head>
</head>
<body>
<center>
<?php
while ($details = mysql_fetch_array($eintraege)) {
?>
<table width="98%" style=BORDER-COLLAPSE:collapse; bordercolor="#D3C1A9" border="2">
<tr>
<th>
<table width="100%" height="100%" border="0">
<tr height="30%">
<th align="left" valign="middle"><b>User:</b></th>
<th align="left" valign="middle"><?php echo $details["nick"]; ?></th>
<th align="left" valign="middle"><b>eMail:</b></th>
<th align="left" valign="middle"><?php echo $details["email"]; ?></th>
<th align="left" valign="middle"><b>Page:</b></th>
<th align="left" valign="middle"><?php echo $details["page"]; ?></th>
<th align="left" valign="middle"><b>ICQ:</b></th>
<th align="left" valign="middle"><?php echo $details["icq"]; ?></th>
</tr>
<tr height="3%">
<th align="left" valign="middle"><b>Nachricht:</b></th>
</tr>
<tr height="67%">
<th align="left" valign="middle"></th>
<?php echo $details["message"]; ?>
</tr>
</table>
</th>
</tr>
</table>
<?php
}
?>

  1. Hi,

    Hier ist der Quelltext:

    und wo ist das Problem?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. und wo ist das Problem?

      Das hier:
      Warning: Supplied argument is not a valid MySQL result resource in /home/www/web293/html/gb/index.php on line 17

      aber an line 17 kans net liegen.... (glaube ich *g*)

      1. Hi,

        Warning: Supplied argument is not a valid MySQL result resource in /home/www/web293/html/gb/index.php on line 17
        aber an line 17 kans net liegen.... (glaube ich *g*)

        richtig, die Zeile 17 enthält keinen Fehler - trotzdem trat er dort auf. Die Fehlermeldung gab es (samt Lösung) schon öfter; recherchiere nach ihr bitte im Archiv.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. richtig, die Zeile 17 enthält keinen Fehler - trotzdem trat er dort auf. Die Fehlermeldung gab es (samt Lösung) schon öfter; recherchiere nach ihr bitte im Archiv.

          danke, ich habe es verscuht zu finden, aber überall steht nur, das die select ausgabe nichts ausgibt... wo liegt denn dann der fehler?

          Könnte mir wenigstens jemand sagen, wie ich das überprüfen soll?

          danke für die Hilfe und schönen abend noch

          Haiopei

          1. Hi,

            danke, ich habe es verscuht zu finden, aber überall steht nur, das die select ausgabe nichts ausgibt...

            genauer gesagt sollte da stehen, dass das SELECT-Statement kein gültiges Ergebnis produziert.

            wo liegt denn dann der fehler?

            Im SELECT-Statement.

            Könnte mir wenigstens jemand sagen, wie ich das überprüfen soll?

            Du könntest es beispielsweise mit den realen Begebenheiten in Deiner Datenbank vergleichen. Mittels einschlägiger Tools etwa, oder indem Du Deine Anlegescripts zu Rate ziehst.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Du könntest es beispielsweise mit den realen Begebenheiten in Deiner Datenbank vergleichen. Mittels einschlägiger Tools etwa, oder indem Du Deine Anlegescripts zu Rate ziehst.

              hä? Sorry hab ich net verstanden... bis morgen dann...

              cya

              1. Hi,

                hä? Sorry hab ich net verstanden...

                schau Dir die Datenbank an, die Tabellen und so weiter. Überprüfe dann, ob Dein Statement überhaupt funktionieren kann. Oder genauer gesagt: Finde heraus, warum es _nicht_ funktionieren kann.

                Cheatah

                --
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Schönen Dank auch, Cheata ich werds mal überprüfen... sollte ich den Fehler net finden, melde ich mich nochmal....

                  cya

                  Haiopei

                  1. Ich habe alles überprüft... es muss an was anderem liegen......
                    selbst dieses simple script funktioniert nicht... argl!

                    <?php
                    $dblink = mysql_connect("localhost","web293","xxxxxxx");
                    mysql_select_db("user_web293_1",$dblink);
                    $inhalt = mysql_query("select * fom gb" where eintragsid='1'");
                    $inhalt2 = mysql_fetch_array($inhalt);
                    $inhalt3 = $inhalt2["icq"];
                    echo $inhalt3;
                    ?>

                    ich habs überprüft... die tabelle heisst "gb" und die Spalte heisst "icq" die eintragsid ist "1" und der datenbankname und der host stimmen auch. das PW auch......

                    Was kann noch falsch sein?

                    Wenns niemand weis, vielelciht kanner mir ja nen simplen Quelltext geben zu nen guestbook ohne irgendwelche überprüfungen, vielleicht hiflt ja ein vergleich.....

                    cya

                    Haiopei

  2. HI Ich habe vor ein Paar Wochen angefangen mit php, und habe jetzt versucht ein gästebuch zu schreiben... kann mir wer helfen?

    Ich spiele mal den weißen Ritter [tm] :)

    $dblink = mysql_connect($dbhost,$dbuser,$dbpasswd);

    Wo ist die Überprüfung, ob mysql_connect() funktioniert hat?

    mysql_select_db($dbname, $dblink);

    Wo ist die Überprüfung, ob mysql_select_db() funktioniert hat?

    $eintraege = mysql_query("select * from gb order by eintragsid DESC");

    Wo ist die Überprüfung, ob mysql_query() funktioniert hat?

    Du kannst nicht einfach erwarten, daß das alles ohne Problem funktioniert. Was dabei herauskommt, siehst Du ja selbst: Anstatt es Dir mit der sehr hilfreichen Ausgabe von mysql_error() einfach zu machen und das Problem in zwei Minuten gelöst zu haben, schaust Du dumm in die Röhre.

    Wirf nochmal einen Blick in die PHP-Anleitung. Bereits auf der Inhaltsseite ist ein ausführliches Beispiel, wie man mit MySQL richtig umgeht, bei den Funktionen befinden sich weitere Beispiele.

    while ($details = mysql_fetch_array($eintraege)) {

    <th align="left" valign="middle"><?php echo $details["nick"];
    <th align="left" valign="middle"><?php echo $details["email"];
    <th align="left" valign="middle"><?php echo $details["page"];
    <th align="left" valign="middle"><?php echo $details["icq"];
    <?php echo $details["message"]; ?>

    Ich rate Dir, mal im Archiv nach dem Gästebuchterminator zu suchen und Dir in diesem Zusammenhang zu überlegen, was passiert, wenn jemand HTML-Sachen (inklusive <style>- und <script>-Blöcken) in Dein Gästebuch einzutragen..
    Die Benutzung der PHP-Funktion htmlentities() ist dringenst angeraten, an anderer Stelle fehlt Dir wahrscheinlich mysql_escape_string().

    Gruß,
      soenk.e