Veröffentlicht 7. November 200618 j hi leute, ich habe folgendes problem: ich habe ein script aus einem buch abgeschrieben, jedoch werden keine daten in die datenbank geschrieben. ich habe euch mal das gesamte script geschickt: index.php: <html> <head> <title>Gaestebuch</title> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body> <div align='center'> <h2>Gaestebuch</h2> <form action='eintragen.php' method="get"> <table width='350' cellspacing='5'> <tr> <td> <div>Name</div> </td> <td><input type='text' name='name' class='eing' /></td> </tr> <tr> <td><div>Ihr E-Mail</div></td> <td><input type='text' name='email' class='eing' /></td> </tr> <tr> <td><div>Homepage</div></td> <td><input type='text' name='homepage' value='http://' class='eing' /></td> </tr> <tr> <td><div>Überschrift</div></td> <td><input type='text' name='ueberschrift' class='eing' /></td> </tr> <tr> <td><div>Eintrag</div></td> <td><textarea name='kommentar' class='eing' cols='15' rows='5'>Hier eingeben</textarea></td> </tr> <tr> <td><div>Datum</div></td> <td><?php include("time.php"); echo "$date1, $time1"; ?></td> </tr> <tr> <td colspan='2'> </td> </tr> <tr> <td valign='top'><div>Wie findest du die Seite?</div></td> </tr> <tr> <td> <table> <tr> <td> <input type='radio' name='bewertung' value='gut' />gut</td> </tr> <tr> <td> <input type='radio' name='bewertung' value='mittel' />mittel</td> </tr> <tr> <td> <input type='radio' name='bewertung' value='schlecht' />schlecht</td> </tr> </table> </td> </tr> <tr> <td colspan='2'> </td> </tr> <tr> <td> <input type='reset' value='Löschen' class='sender'> </td> <td align='right'> <input type='submit' value='Eintragen' class='sender'> </td> </tr> </table> </form> <hr><h3>Bisher geschriebenes</h3> <table width='300'> <tr> <td> <?php include('include.php'); $db = @mysql_connect($server, $user, $passwort); $db_select = @mysql_select_db($datenbank); $result = mysql_query("SELECT * FROM gaestebuch"); $menge = mysql_num_rows($result); $zeigen = floor($menge / 10); if(!$start) { $start = 0.1; } $result = mysql_query("SELECT * FROM gaestebuch WHERE Freigabe !='nein' ORDER BY ID DESC limit $start,10"); while($row = mysql_fetch_row($result)) { ?> <fieldset> <legend><span> <?php echo $row[6]; echo $row[4]; ?></span></legend> <table width="390" border='0' align='center' celssspacing="3" cellpadding="4" class="ansicht"> <tr> <td valign="top" colspan='2'> <?php echo $row[5]; ?> </td> </tr> <tr> <td valign='top' colspan='2'> <small> Eingetragen am: <?php echo $row[8]; ?></small> <br> Geschrieben von: <?php if ($row[2] == '') { echo '';} else { ?> <a href="mailto:<?php echo $row[2]; ?>"><?php echo $row[1]; ?></a> <?php } if ($row[3] == '' or $row[3] == 'http://') { echo''; } else { ?> <a href="<?php echo $row[3]; ?>">zur Homepage</a> <?php } ?> </td> </tr> </table> </fieldset><br><br><br> <?php } ?> </body> </html> eintragen.php <?php $name = $_GET["name"]; $email = $_GET["email"]; $homepage = $_GET["homepage"]; $ueberschrift = $_GET["ueberschrift"]; $kommentar = $_GET["kommentar"]; $bewertung = $_GET["bewertung"]; $freigabe = $_GET["freigabe"]; $date = $_GET["date"]; $freigabe = 'nein'; include("include.php"); $db = @mysql_connect($server, $user, $passwort) or die(mysql_error()); $db_select = @mysql_select_db($datenbank) or die(mysql_error()); $eintrag = "INSERT INTO gaestebuch (Name, EMail) VALUES ($name, $email)" or die(mysql_error()); $eintragen = mysql_query($eintrag); $eintrag = "INSERT INTO gaestebuch (Homepage, Ueberschrift) VALUES ($homepage, $ueberschrift)" or die(mysql_error()); $eintragen = mysql_query($eintrag); $eintrag = "INSERT INTO gaestebuch (Kommentar, Bewertung) VALUES ($kommentar, $bewertung)" or die(mysql_error()); $eintragen = mysql_query($eintrag); $eintrag = "INSERT INTO gaestebuch (Freigabe, Datum) VALUES ($freigabe, $date)" or die(mysql_error()); $eintragen = mysql_query($eintrag); ?> <html> <head> <title>Vielen Dank</title> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body> <div align="center"> <h2>Vielen Dank für Ihren Beitrag</h2> <h4>Ihr Eintrag wird nach der überprüfung freigegeben.</h4> <a href="index.php">zurÜck zum Gästebuch</a> Eingetragenes: <?php echo $name; echo'<br>'; echo $email; echo'<br>'; echo $homepage; echo'<br>'; echo $ueberschrift; echo'<br>'; echo $kommentar; echo'<br>'; echo $bewertung; echo'<br>'; echo $freigabe; echo'<br>'; echo $date; ?> </div> </body> </html> zu sehen könnt ihr das auch unter: Gaestebuch könntet ihr mir evtl helfen?
8. November 200618 j Warum machst du das INSERT nicht in einer Abrage? Du nimmst immer wieder andere Spalten und versucht damit einen komplette Datensatz anzulegen. Es kann sein, dass du 3 Spalten hast, die nicht NULL sein dürfen. Somit kann dein Statement nicht einmal erfolgreich ausgeführt werden. Füge doch mal nach 'mysql_query()' noch 'or die(mysql_error());' ein und poste mal die Ausgabe.
8. November 200618 j <form action='eintragen.php' method="get"> Abgesehen davon, würde ich statt method="get" method="post" nehmen !
13. November 200618 j Sorry, aber das Script kann gar nichts! Schau alleine mal unter dem Stichwort "mysql_escape_string()" nach! Wenn du Pech hast zerschiesst dir einer deine komplette Datenbank mit Hilfe deines Gästebuchs!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.