HILFE! Gästebuch mit php und mysql(mit quelltext)
Olaf Rühenbeck
- php
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
}
?>
Hi,
Hier ist der Quelltext:
und wo ist das Problem?
Cheatah
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*)
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
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
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
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
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
Schönen Dank auch, Cheata ich werds mal überprüfen... sollte ich den Fehler net finden, melde ich mich nochmal....
cya
Haiopei
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
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