Problem mit dem Gästebuch
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzahl
ausschnitt
break
buchen
code
date
datenbank
datensatz
datum
design
eintrag
email
ermitteln
fehler
formular
layout
nummer
tabelle
text
verbindung
-
Hallo,
bin gerade dabei mein Gästebuch zu coden. Hab erstmal damit angefangen die Daten in die Datenbank zu schreiben. Aber das klappt irgendwie nicht. Ich hab die Codes von meinem PHP-Buch und weis nicht wo jetzt der Fehler liegt..
gastebuch.php:
<?php if (isset($_POST["submit"])) { include ("dp.php"); //Zeit und Datum ermitteln $date = date("d.m.Y"); $time = date("H:i"); $sql="INSERT gastebuch" ."(date, time, name, email, homepage, text) values "."('$date', '$time', '".$_POST["name"]."', '".$_POST["email"]."', '".$_POST["homepage"]."', '".$_POST["text"]."')"; mysql_query($sql); } else { echo "Fehlgeschlagen"; } ?> <br><center> <img src="<?PHP echo"Skins/$skin/images/u_gastebuch.jpg";?>" ><br><br></center> <center> <form name="gastebuch" action="index.php?content_div=gastebuch" method="post"> <table cellpadding="0" cellspacing="0"> <tr> <td colspan="2" width="424"> <img border="0" src="Skins/1/images/box_424_oben.jpg" width="424" height="10"></td> </tr> <tr> <td colspan="2" bgcolor="#DCDADA" width="424" height="40"> <p align="center"><b>Neuer Eintrag</b></td> </tr> <tr> <td bgcolor="#DCDADA" align="right" width="123"><font size="2">Name: </font></td> <td bgcolor="#DCDADA" width="301"><input name="name" value="" size="26"/></td> </tr> <tr> <td bgcolor="#DCDADA" align="right" width="123"><font size="2">E-Mail: </font></td> <td bgcolor="#DCDADA" width="301"><input name="email" value="" size="26"/></td> </tr> <tr> <td bgcolor="#DCDADA" align="right" width="123"><font size="2">Homepage: </font></td> <td bgcolor="#DCDADA" width="301"><input name="homepage" value="" size="26"/></td> </tr> <tr> <td bgcolor="#DCDADA" align="center" width="424" colspan="2"> <br> <img src="smileys/xd.png" width="18" height="18"> <img src="smileys/wink.png" width="18" height="18"> <img src="smileys/undecided.png" width="18" height="18"> <img src="smileys/tongue.png" width="18" height="18"> <img src="smileys/sweat.png" width="18" height="18"> <img src="smileys/surprised.png" width="18" height="18"> <img src="smileys/sleepy.png" width="18" height="18"> <img src="smileys/silenced.png" width="18" height="18"> <img src="smileys/sick.png" width="18" height="18"> <img src="smileys/sad.png" width="18" height="18"> <img src="smileys/pirate.png" width="18" height="18"> <img src="smileys/loveeyes.png" width="18" height="18"> <img src="smileys/lock.png" width="18" height="18"> <img src="smileys/laughcry.png" width="18" height="18"> <img src="smileys/kiss.png" width="18" height="18"><br> <img src="smileys/hmm.png" width="18" height="18"> <img src="smileys/happy.png" width="18" height="18"> <img src="smileys/glare.png" width="18" height="18"> <img src="smileys/geek.png" width="18" height="18"> <img src="smileys/erm.png" width="18" height="18"> <img src="smileys/dead.png" width="18" height="18"> <img src="smileys/cry.png" width="18" height="18"> <img src="smileys/crazy.png" width="18" height="18"> <img src="smileys/cool.png" width="18" height="18"> <img src="smileys/clown.png" width="18" height="18"> <img src="smileys/blush.png" width="18" height="18"> <img src="smileys/bigsmile.png" width="18" height="18"> <img src="smileys/beer.png" width="18" height="18"> <img src="smileys/angry.png" width="18" height="18"> <img src="smileys/angel.png" width="18" height="18"><br> <a target="_blank" href="http://gjmedia.deviantart.com/"><font size="0,5">by GJmedia</font></a></td> </tr> <tr> <td bgcolor="#DCDADA" align="center" width="424" colspan="2"><br> <textarea name="text" cols="47" rows="7" value=""></textarea><br> </td> </tr> <tr> <td colspan="2" bgcolor="#DCDADA" width="424" height="40"> <p align="center"> <input type="submit" style="background-image: url(Skins/1/images/b_eintragen.png); width: 115px; height: 17px; border: 0px; background-color:#DCDADA" value="" name="submit"> <input type="reset" style="background-image: url(Skins/1/images/b_zurucksetzen.png); width: 115px; height: 17px; border:0px; background-color:#DCDADA" value="" name="reset"> <br></td> </tr> <tr> <td colspan="2" width="424"> <img border="0" src="Skins/1/images/box_424_unten.jpg" width="424" height="10"></td> </tr> </table></form>
und db.php:
<? // Hostname oder IP des MySQL-Servers $sqlhost = "mysql.lima-city.de"; // Username und Passwort $sqluser = "USER******"; $sqlpassword = "*******"; // Name der Datenbank $sqldb = "db_******_1"; // Verbindung herstellen mysql_connect($sqlhost,$sqluser,$sqlpassword) or die ("Keine Verbindung möglich"); mysql_select_db($sqldb) or die ("Die Datenbank existiert nicht"); ?>
Hoffe ihr könnt mir helfen.
Beitrag zuletzt geändert: 20.6.2010 10:56:54 von fp08 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Der korrekte SQL-Befehl heisst:
INSERT into tabellenname
Du hast das into vergessen. Zudem machst du da irgendwie einiges mit den Anführungsstrichen und Punkten falsch
$sql="INSERT into gastebuch (date, time, name, email, homepage, text) values ('$date', '$time', '".$_POST["name"]."', '".$_POST["email"]."', '".$_POST["homepage"]."', '".$_POST["text"]."')";
Beitrag zuletzt geändert: 20.6.2010 11:03:15 von karpfen -
Also in meinem Buch steht so..
Habs aber geändert und es tut sich immernoch nichts.
Edit: hab deins kopiert aber funktioniert noch nicht.
Beitrag zuletzt geändert: 20.6.2010 11:05:02 von fp08 -
In wie fern hast du es geändert schreib bitte nochmal den neuen Code ins Forum Danke.
-
okay
<?php if (isset($_POST["submit"])) { include ("dp.php"); //Zeit und Datum ermitteln $date = date("d.m.Y"); $time = date("H:i"); $sql="INSERT into gastebuch (date, time, name, email, homepage, text) values ('$date', '$time', '".$_POST["name"]."', '".$_POST["email"]."', '".$_POST["homepage"]."', '".$_POST["text"]."')"; mysql_query($sql); } else { echo "Fehlgeschlagen"; } ?> <br><center> <img src="<?PHP echo"Skins/$skin/images/u_gastebuch.jpg";?>" ><br><br></center> <center> <form name="gastebuch" action="index.php?content_div=gastebuch" method="post"> <table cellpadding="0" cellspacing="0"> <tr> <td colspan="2" width="424"> <img border="0" src="Skins/1/images/box_424_oben.jpg" width="424" height="10"></td> </tr> <tr> <td colspan="2" bgcolor="#DCDADA" width="424" height="40"> <p align="center"><b>Neuer Eintrag</b></td> </tr> <tr> <td bgcolor="#DCDADA" align="right" width="123"><font size="2">Name: </font></td> <td bgcolor="#DCDADA" width="301"><input name="name" value="" size="26"/></td> </tr> <tr> <td bgcolor="#DCDADA" align="right" width="123"><font size="2">E-Mail: </font></td> <td bgcolor="#DCDADA" width="301"><input name="email" value="" size="26"/></td> </tr> <tr> <td bgcolor="#DCDADA" align="right" width="123"><font size="2">Homepage: </font></td> <td bgcolor="#DCDADA" width="301"><input name="homepage" value="" size="26"/></td> </tr> <tr> <td bgcolor="#DCDADA" align="center" width="424" colspan="2"> <br> <img src="smileys/xd.png" width="18" height="18"> <img src="smileys/wink.png" width="18" height="18"> <img src="smileys/undecided.png" width="18" height="18"> <img src="smileys/tongue.png" width="18" height="18"> <img src="smileys/sweat.png" width="18" height="18"> <img src="smileys/surprised.png" width="18" height="18"> <img src="smileys/sleepy.png" width="18" height="18"> <img src="smileys/silenced.png" width="18" height="18"> <img src="smileys/sick.png" width="18" height="18"> <img src="smileys/sad.png" width="18" height="18"> <img src="smileys/pirate.png" width="18" height="18"> <img src="smileys/loveeyes.png" width="18" height="18"> <img src="smileys/lock.png" width="18" height="18"> <img src="smileys/laughcry.png" width="18" height="18"> <img src="smileys/kiss.png" width="18" height="18"><br> <img src="smileys/hmm.png" width="18" height="18"> <img src="smileys/happy.png" width="18" height="18"> <img src="smileys/glare.png" width="18" height="18"> <img src="smileys/geek.png" width="18" height="18"> <img src="smileys/erm.png" width="18" height="18"> <img src="smileys/dead.png" width="18" height="18"> <img src="smileys/cry.png" width="18" height="18"> <img src="smileys/crazy.png" width="18" height="18"> <img src="smileys/cool.png" width="18" height="18"> <img src="smileys/clown.png" width="18" height="18"> <img src="smileys/blush.png" width="18" height="18"> <img src="smileys/bigsmile.png" width="18" height="18"> <img src="smileys/beer.png" width="18" height="18"> <img src="smileys/angry.png" width="18" height="18"> <img src="smileys/angel.png" width="18" height="18"><br> <a target="_blank" href="http://gjmedia.deviantart.com/"><font size="0,5">by GJmedia</font></a></td> </tr> <tr> <td bgcolor="#DCDADA" align="center" width="424" colspan="2"><br> <textarea name="text" cols="47" rows="7" value=""></textarea><br> </td> </tr> <tr> <td colspan="2" bgcolor="#DCDADA" width="424" height="40"> <p align="center"> <input type="submit" style="background-image: url(Skins/1/images/b_eintragen.png); width: 115px; height: 17px; border: 0px; background-color:#DCDADA" value="" name="submit"> <input type="reset" style="background-image: url(Skins/1/images/b_zurucksetzen.png); width: 115px; height: 17px; border:0px; background-color:#DCDADA" value="" name="reset"> <br></td> </tr> <tr> <td colspan="2" width="424"> <img border="0" src="Skins/1/images/box_424_unten.jpg" width="424" height="10"></td> </tr> </table></form> <br><br> <img border="0" src="<?PHP echo "Skins/$skin/images/trennlinie.png";?>"> <br><br> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber2" width="686" height="215"> <tr> <td colspan="3" width="686" height="10"> <img border="0" src="<?PHP echo "Skins/$skin/images/box_lang_oben.jpg";?>" width="686" height="10"></td> </tr> <tr> <td width="25" bgcolor="#DCDADA" height="28"> </td> <td width="612" bgcolor="#DCDADA" height="28"> <p align="left"><font color="#E96324" size="2"><b>-Name-</b></font> <font size="1">schrieb am -Datum- um - Uhrzeit-</font></td> <td width="49" bgcolor="#DCDADA" height="28"> </td> </tr> <tr> <td width="25" bgcolor="#DCDADA" height="133"> </td> <td width="612" bgcolor="#DCDADA" > <p align="justify"><font size="2"> Text</font></td> <td width="49" bgcolor="#DCDADA" height="133"> </td> </tr> <tr> <td width="25" align="center" bgcolor="#DCDADA" height="34"> </td> <td width="612" align="center" bgcolor="#DCDADA" height="34"> <p align="right"> <a href="mailto:email"><img border="0" src="<?PHP echo "Skins/$skin/images/gb_email.png";?>"></a> <a target="_blank" href="jaja.com"><img border="0" src="<?PHP echo "Skins/$skin/images/gb_homepage.png";? >"></a> </td> <td width="49" bgcolor="#DCDADA" height="34"> </td> </tr> <tr> <td colspan="3" width="686" height="10"> <img border="0" src="<?PHP echo "Skins/$skin/images/box_lang_unten.jpg";?>" width="686" height="10"></td> </tr> </table><br> <img border="0" src="<?PHP echo "Skins/$skin/images/trennlinie.png";?>"><br><br> 1 <a href="">2</a> 3 > </center>
-
Zudem könnte ich mir vorstellen, dass die Tabelle gaestebuch und nicht gastebuch heisst, aber das kannst nur du wissen. Gibt denn das Skript irgendeinen Fehler aus?
Dieser vermeintliche Rechtschreibfehler zieht sich durch deine ganzen Skripte. Einfach mal überprüfen!
Beitrag zuletzt geändert: 20.6.2010 11:09:14 von karpfen -
Die Tabelle heist gastebuch.. hab nochmal geschaut.
Also dieses "Fehlgeschlagen" kommt nur beim ersten Aufruf weil das Formular noch nicht abgeschickt wurde.
Schicke ich es ab, kommt nichts mehr. Formular leer und in der Tabelle ist auch nichts. -
Ich seh grad folgende Codezeile:
<form name="gastebuch" action="index.php?content_div=gastebuch" method="post">
Du musst da natürlich die Gästebuchseite aufrufen, welche das verarbeitet. Also gastebuch.php
Gibts denn einen Link, wo man sich das mal anschauen kann?
Beitrag zuletzt geändert: 20.6.2010 11:14:11 von karpfen -
das gehört aber zum Design. Das hab ich so gelöst:
In der index.php steht die Nummer des Designs (kann man später auswählen) und speichert sie als Cookie. Je nach nummer wird eine andere Layout.php und andere Grafiken verwendet.
Ausschnitt der Layout.php:
<div id="container"> <div id="header"> <?PHP {include("x_login_div.php");} ?> </div> <div id="menu"><img border="0" <?PHP echo "src='Skins/$skin/images/menu2_oben.jpg'"; ?> width="174" height="24"><br> <?PHP {include("x_menu_div.php");} ?> <img border="0" <?PHP echo "src='Skins/$skin/images/menu2_unten.jpg'"; ?> width="174" height="20"></div> <div id="content"> <?PHP {include("x_content_div.php");} ?> </div> <div id="footer"> <img border="0" <?PHP echo "src='Skins/$skin/images/spacer.png'"; ?> width="1" height="21"><br> <a href="index.php?content_div=impressum" style="text-decoration: none">Impressum</a></div> </div>
und die x_content_div.php:
<?PHP switch($content_div){ case "startseite": include("startseite.php"); break; case "gastebuch": include("gastebuch.php"); break; default: include("fehler.php"); break; } ?>
Also eigentlich funktioniert das so. Würde ich bei action="gastebuch.php" reinschreiben würd sich die Seite alleine in ohne header, menü usw öffnen.
Beitrag zuletzt geändert: 20.6.2010 18:44:24 von fp08 -
OK, da hast du recht. Ich wusste ja nicht, dass dies so includiert wird. Leider wird kein PHP-Fehler ausgegeben, so dass es etwas schwer ist, die genaue Ursache zu erkennen.
Schau doch mal bitte, ob die Daten in der Datenbank stehen, denn ich erhalte nur eine Fehlermeldung wenn ich das GB aufrufe, nicht aber wenn ich welche eintragen will.
Beitrag zuletzt geändert: 20.6.2010 11:25:49 von karpfen -
Hmm
Wenn in der db.php etwas falsch wäre müsste ja ein Fehler kommen oder? -
Hab ich. Kommt aber aufs gleiche raus.
Edit: Soo habs jetzt geschafft. Fragt mich nicht warum jetzt gehts. Hab ein ganz anderen Tutorial verwendet.
AAber jetzt kommt das nächste Problem. Es werden einfach keine Einträge angezeigt. Gleiches Tutorial eigentlich...
Ausschnitt de gastebuch.php
<?php $sql = "SELECT `date`, `time`, `name`, `email`, `homepage`, `text` FROM `gastebuch`"; // Anfrage an die DB schicken und die Rueckmeldung in eine Variable ablegen $abfrageergebnis = mysql_query( $sql, $conID ); // Ermitteln wie viele Datensaetzen gefunden wurden $anzahl = mysql_num_rows( $abfrageergebnis ); echo '<p>Es wurden <span class="hinweis">' .$anzahl. '</span> Datensätze gefunden!</p>'; // Tabelle erstellen fuer die Ausgabe while ($datensatz = mysql_fetch_array( $anzahl )) { ?> <br><br> <img border="0" src="<?PHP echo "Skins/$skin/images/trennlinie.png";?>"> <br><br> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber2" width="686" height="215"> <tr> <td colspan="3" width="686" height="10"> <img border="0" src="<?PHP echo "Skins/$skin/images/box_lang_oben.jpg";?>" width="686" height="10"></td> </tr> <tr> <td width="25" bgcolor="#DCDADA" height="28"> </td> <td width="612" bgcolor="#DCDADA" height="28"> <p align="left"><font color="#E96324" size="2"><b>-<?php echo htmlspecialchars( $datensatz ['name'] ); ?>-</b></font> <font size="1">schrieb am <?php echo $datensatz['date']; ?> um <?php echo $datensatz['time'] ; ?></font></td> <td width="49" bgcolor="#DCDADA" height="28"> </td> </tr> <tr> <td width="25" bgcolor="#DCDADA" height="133"> </td> <td width="612" bgcolor="#DCDADA" > <p align="justify"><font size="2"> <?php echo htmlspecialchars( $datensatz['text'] ); ?></font></td> <td width="49" bgcolor="#DCDADA" height="133"> </td> </tr> <tr> <td width="25" align="center" bgcolor="#DCDADA" height="34"> </td> <td width="612" align="center" bgcolor="#DCDADA" height="34"> <p align="right"> <a href="mailto:<?php echo htmlspecialchars( $datensatz['email'] ); ?>"><img border="0" src="<? PHP echo "Skins/$skin/images/gb_email.png";?>"></a> <a target="_blank" href="<?php echo htmlspecialchars( $datensatz['homepage'] ); ?>"><img border="0" src="<?PHP echo "Skins/$skin/images/gb_homepage.png";?>"></a> </td> <td width="49" bgcolor="#DCDADA" height="34"> </td> </tr> <tr> <td colspan="3" width="686" height="10"> <img border="0" src="<?PHP echo "Skins/$skin/images/box_lang_unten.jpg";?>" width="686" height="10"></td> </tr> </table><br> <?php } ?>
Beitrag zuletzt geändert: 20.6.2010 14:11:07 von fp08 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage