Gäsetbuch mit MySQL und PHP

hmmm.....
Original geschrieben von motu

:
:
<form action="guestbook.php" method="get">
:
:
:
if ($_POST['input'] !="")
{
$sqlinsert="INSERT INTO `eintraege` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', '$name', '$thema', '$input')";
:
:
:

wie denn nu?
 
<form action="guestbook.php" method="get">
:
:
:
if ($input !="")
{
$sqlinsert="INSERT INTO `eintraege` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', '$name', '$thema', '$input')";

So hab ich es jetzt und es funktioniert einfach nicht
 
auch wenn ich mich jetzt wiederhole: ich weiß immer noch nicht, ob er überhaupt an die Stelle mit dem Insert Befehl kommt, während Deiner Tests. Meine Fragen diesbezüglich hast Du ja immer großzügig ignoriert....
Also nochmal mit Beispiel:
:
:
$sqlinsert="INSERT INTO `eintraege` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', '$name', '$thema', '$input')";
echo "Mein Insert: ".$sqlinsert;
$ergenisinsert=mysql_query($sqlinsert);
:
:

Was gibt er aus und wenn er was ausgibt, funktioniert das so in phpMyAdmin?
 
Albu vergiss es, da waren außer Fehler nur noch Fehler!

PHP:
<?php
$cfg_mysql_hostname_="localhost";
$cfg_mysql_username_="root";
$cfg_mysql_password_="";
$cfg_mysql_database_="gaestebuch";
$cfg_mysql_entry_="eintraege";

if(isset($_SERVER['QUERY_STRING']))
  $form_string_=basename($_SERVER['PHP_SELF']).'?'.$_SERVER['QUERY_STRING'];
else
  $form_string_=basename($_SERVER['PHP_SELF']);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>A guestbook powered by Cowhead</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<h2>A guestbook powered by Cowhead</h2>
<form name="form1" method="post" action="<?php echo($form_string_); ?>">
  <p>Benutzer Name:<br>
    <input name="txt_username" type="text" id="txt_username">
    <br>
    Thema:<br>
    <input name="txt_topic" type="text" id="txt_topic">
    <br>
    Eintrag:<br>
    <textarea name="txt_message" cols="30" rows="5" id="txt_message"></textarea>
  </p>
  <p> 
    <input type="submit" name="Submit" value="Abschicken">
    <input name="Submit" type="reset" id="Submit" value="Zurücksetzen">
  </p>
  </form>
  
<?php
if(!$mysql_connection=mysql_connect($cfg_mysql_hostname_, $cfg_mysql_username_, $cfg_mysql_password_)) die("no connection to mysql");
if(!mysql_select_db($cfg_mysql_database_, $mysql_connection)) die("no connection to database");

if(isset($_POST['Submit']) && isset($_POST['txt_username']) && isset($_POST['txt_topic']) && isset($_POST['txt_message']) && $_POST['Submit']=="Abschicken")
  mysql_query("INSERT INTO `$cfg_mysql_entry_` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', '".$_POST['txt_username']."', '".$_POST['txt_topic']."', '".$_POST['txt_message']."')", $mysql_connection);

$mysql_query_string=mysql_query("SELECT * FROM `$cfg_mysql_entry_`", $mysql_connection);
while($mysql_row=mysql_fetch_array($mysql_query_string)) {
  echo("<p><b>".$mysql_row['ID']." ".$mysql_row['Benutzername']." zum Thema: ".$mysql_row['Thema']."</b><br>");
  echo("<p>".$mysql_row['Eintrag']."<br>");
}

mysql_close($mysql_connection);
?>
</body>
</html>
 
Zuletzt bearbeitet:
du könntest das locker selber mit mysql_error() debuggen, wenn du bei jedem fehler abbrechen würdest. die fehlermeldungen sind selbsterklärend. benutze mal folgendes:
PHP:
<? 
    $server="127.0.0.1"; 
    $benutzer=""; 
    $kennwort=""; 
    $verbindung=mysql_connect($server,$benutzer,$kennwort) or die(mysql_error());
    mysql_select_db("gaestebuch", $verbindung) or die(mysql_error()); 
     
    if ($_POST['input'] !="") 
    { 
    $sqlinsert="INSERT INTO `eintraege` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', '$name', '$thema', '$input')"; 
    $ergenisinsert=mysql_query($sqlinsert) or die(mysql_error()); 
    } 
    $sqlread="SELECT * FROM eintraege"; 
    $ergebnisread=mysql_query($sqlread,$verbindung) or die(mysql_error()); 
    while($row=mysql_fetch_object($ergebnisread)) 
    { 
        echo "<p><b>",$row->ID ,$row->Benutzername, " zum Thema: ", $row->Thema, "</b><br>"; 
        echo "<p>", $row->Eintrag, "<br>"; 
    } 

?>
 
Mein Insert: INSERT INTO `eintraege` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', '', '', '')

Und ja es funktioniert mit php mein Admin, daraus habe ich den text ja auch
 
Nimm mein Skript, das funktioniert!

Nur ein paar Beispiele deiner Fehler:
du hattest $_POST anstelle $_GET wie du die form hattest
usw.

kurz gesagt, ich war besser dran es neu zu schreiben!
 
OK, danke es funktioniert, ich habe bloß ein Problem, drücke ich F5 wird der Eintrag erneut eingetragen
 
na wirklich, komisch warum denkst du?

wenn du die daten hinschickst und das aktualisierst, dann schickst du sie nochmal hin! aber er fragt eh vorhin, ob die daten nochmal gesendet werden sollen!
 
Zurück
Oben