Gäsetbuch mit MySQL und PHP

motu

New member
Hi,

habe ein Gästebuch geschrieben, doch folgendes Problem trat auf:
Das läuft über eine MySQL Datenbank. Es liest die Datenbank aus und zeigt die Daten an, aber schreibt selbst mit root als user nichts in die Datenbankrein.
Ich hoffe ihr könnt mir helfen und vielen Dank im Vorraus.

PHP:
 <html>

<head>
<title>Guestbook of the Cowhead's</title>
</head>

<body>
<h2>A guestbook powered by Cowhead</h2>
<form action="guestbook.php" method="get">
Benutzer Name:<br>
<input type="text" name="name"><br>
Thema:<br>
<input type="text" name="thema"><br>
Eintrag:<br>
<textarea name="input" value="" rows="5" cols="30"></textarea><br>
<input type ="Submit" name="send" value="Eintrag absenden">
<input type ="Reset" name="reset" value="Eintrag zurücksetzen">
</form>
</body>
	
</html>
<?
$server="127.0.0.1";
$benutzer="";
$kennwort="";
$verbindung=mysql_connect($server,$benutzer,$kennwort);
mysql_select_db(gaestebuch, $verbindung);
	
if ($input<>"")
{
$sqlinsert="INSERT INTO `eintraege` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', '$name', '$thema', '$input')";
$ergenisinsert=mysql_query($sqlinsert, $verbindung);
}
$sqlread="SELECT * FROM eintraege";
$ergebnisread=mysql_query($sqlread,$verbindung);
while($row=mysql_fetch_object($ergebnisread))
{
echo "<p><b>", $row->Benutzername, " zum Thema: ", $row->Thema, "</b><br>";
echo "<p>", $row->Eintrag, "<br>";
}

?>
 
<> durch != ersetzen!
und $input durch $_POST['input'] oder wie auch immer!
und benutzer würd ich auch einen angeben :D
 
Laß Dir den SQL Befehl vor dem Ausführen ausgeben und probier ihn von Hand an der DB aus. Die sagt Dir dann schon was faul ist. Und selbst wenn der Befehl nicht ausgegegen wird, bist Du auch ein Schritt weiter.
 
INSERT INTO `eintraege` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', 'Hallo', 'Test', 'Hallo Welt')
 
- Das ist der exakte String, der vom Script ausgegeben wird, wenn Du ein echo vor die Ausführung setzt?
- Und dieser exakte String wird auch sang und klanglos von der DB akzeptiert?
- Und dieser exakte String steht nachher auch exakt so in der DB?
- Und ein zweiter Aufruf mit exakt diesem String erzeugt immer noch keinen Fehler in der DB?
- Und der zweite Aufruf mit diesem identischen, exakten String erzeugt tatsächlich einen zweiten Eintrag in der Datenbank?

Wenn Deine Antwort überall ja lautet, dann sollte Dein Script laufen.
 
So habe ich ihn in die COnsole eingeben
Edit:
Mit
PHP:
$sqlinsert="INSERT INTO 'eintraege' VALUES ('', '$name', '$thema', '$input')";
funktioniert es auch nicht
 
Zuletzt bearbeitet:
Dies ist der komplette Tag:
PHP:
$sqlinsert="INSERT INTO `eintraege` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', 'Hallo', 'Test', 'Hallo Welt')";
MySql sagt nichts, trägt aber auch nichts ein
 
Original geschrieben von -LG-
Das hat er doch im PHP-Code du BreitkopfmitAntenne!
ich weiß ned, aber bei mir im Opera fehlen die Anführungszeichen bei besagtem Befehl


Ansonsten fällt mir nix ein, als mein Fragenkatalog, der meiner Meinung nach immer noch nicht ausreichend beantwortet wurde :p
 
Original geschrieben von motu
Dies ist der komplette Tag:
PHP:
$sqlinsert="INSERT INTO `eintraege` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', 'Hallo', 'Test', 'Hallo Welt')";
MySql sagt nichts, trägt aber auch nichts ein

Wird die Abfrage auch ausgeführt? mysql_query($sqlinsert);
 
Danke, aber es funtioniert immer noch nicht, ich hänge ncoh mal den überarbeiteten Quelltext an.
PHP:
<html>
	
	<head>
		<title>Guestbook of the Cowhead's</title>
	</head>

	<body>

		<h2>A guestbook powered by Cowhead</h2>
		<form action="guestbook.php" method="get">
			Benutzer Name:<br>
			<input type="text" name="name"><br>
			Thema:<br>
			<input type="text" name="thema"><br>
			Eintrag:<br>
			<textarea name="input" value="" rows="5" cols="30"></textarea><br>
			<input type ="Submit" name="send" value="Eintrag absenden">
			<input type ="Reset" name="reset" value="Eintrag zurücksetzen">
		</form>
	</body>
	
</html>
<?
	$server="127.0.0.1";
	$benutzer="";
	$kennwort="";
	$verbindung=mysql_connect($server,$benutzer,$kennwort);
	mysql_select_db("gaestebuch", $verbindung);
	
	if ($_POST['input'] !="")
	{
	$sqlinsert="INSERT INTO `eintraege` (`ID`, `Benutzername`, `Thema`, `Eintrag`) VALUES ('', '$name', '$thema', '$input')"; 
	$ergenisinsert=mysql_query($sqlinsert);
	}
	$sqlread="SELECT * FROM eintraege";
	$ergebnisread=mysql_query($sqlread,$verbindung);
	while($row=mysql_fetch_object($ergebnisread))
	{
		echo "<p><b>",$row->ID ,$row->Benutzername, " zum Thema: ", $row->Thema, "</b><br>";
		echo "<p>", $row->Eintrag, "<br>";
	}

?>
 
Zurück
Oben