Hallo Leute !
Ich schlag mich hier jetzt schon eine ganze Weile rum und komm einfach nicht auf die Lösung des Problems ....
Ich bin mit PHP und MySQL noch ganz neu. ...
Vielleicht kann mir ja jemand helfen.
Es handelt sich um ein einfaches in PHP geschriebenes Gästebuch.
Es werden Daten in Textfelder geschrieben und diese sollten dann über eine INSERT-Anweisung in die Datenbank eingefügt werden. Nur genau das tuen sie nicht.
Es passiert einfach gar nichts.
Wenn ich nach der Texteingabe in die Textfelder den 'submit'-Button drücke
verschwindet der Text aus den Textfeldern und in die Datenbank werden keine Daten
eingefügt. Es gibt auch keine Fehlermeldung .... Schon alles ziemlich mysteriös, denn von der Konsole aus kann ich Daten mit 'Insert' in die Datenbank einfügen . Nur von meinem PHP-Script kriege ich keinen
'Insert'-Zugriff auf die Datenbank. Das Eigenartige dabei ist, daß ich mir aber von
einem PHP-Script aus mit der 'Select * From'-Anweisung die Daten die bereits in der
Datenbank liegen ausgeben lassen kann ....
Die Verbindung zur Datenbank selbst muß wohl in Ordnung sein.
Aber ich denke langsam komme ich der Lösung des Problems näher ... ;-)
Ich habe wieder ein paar Sachen zur Problemlösung probiert.
Für den Benutzername habe ich 'root' und auch 'jobst' probiert. Beides wurde angenommen. Aber ohne Erfolg.
Dann habe ich die Variablen-Kennzeichnung
$_POST['$name'] = $name; umgedreht zu
$name = $_POST['$name'];
Auch das wird angenommen, aber ohne Erfolg.
Die Fehlermeldung habe ich eingefügt. Es werden aber keine Fehler beim Ausführen angezeigt.
Dabei kam mir Idee innerhalb der SQL-Anfrage einfach mal imaginäre Sachen reinzuschreiben - wie es dann so mit den Fehlermeldungen aussieht ........
Und siehe da :
Ich kann den größten Unsinn
reinschreiben und es gibt keine Fehlermeldungen !!!!!!!!!!!!!!!!!!!!!
Eigenartig dabei ist daß dies nur bei 'create_entry.php' so der Fall ist. Beim funktionierenden Script 'view.php! (siehe weiter unten) zum Anzeigen des Tabellen-Inhalts kann ich keine Fehler einbauen. Dort werden sie sofort erkannt .....
O.k., wie gesagt, den Inhalt einer Tabelle kann ich mir anzeigen lassen. Dieses Script funktioniert dabei ohne Probleme :
'view.php' :
<?php include("dbconnect.php"); ?>
<h2>Gästebuch!!</h2>
<?php
$result = mysql_query("select * from gaestebuch") or die ("Fehler");
if ($result)
{
while ($row = mysql_fetch_array($result))
{
print "<b>Name:</b>";
print $row["name"];
print "<br>\n";
print "<b>Ort:</b>";
print $row["ort"];
print "<br>\n";
print "<b>E-Mail:</b>";
print $row["email"];
print "<br>\n";
print "<b>URL:</b>";
print $row["url"];
print "<br>\n";
print "<b>Kommentar:</b>";
print $row["kommentar"];
print "<br>\n";
print "<br>\n";
print "<br>\n";
}
mysql_free_result($result);
}
?>
<h2><a href="sign.php">Signieren Sie mein Gästebuch!!</a></h2>
Das Problem liegt dann wohl eher irgendwo hier in diesen beiden Scripten über die die Daten per 'INSERT' in die Datenbank eingefügt werden sollen :
'sign.php' :
<?php include ("dbconnect.php"); ?>
<h2>Signieren Sie mein Gästebuch !!!</h2>
<form method=post action="create_entry.php">
<b>Name:</b>
<input type=text size=40 name=name>
<br>
<b>Ort:</b>
<input type=text size=40 name=ort>
<br>
<b>E-Mail:</b>
<input type=text size=40 name=email>
<br>
<b>URL:</b>
<input type=text size=40 name=url>
<br>
<b>Kommentar:</b>
<textarea name=kommentar cols=40 rows=4 wrap=virtual></textarea>
<br>
<input type=submit name=submit value="Signieren!">
<input type=reset name=reset value="Löschen">
</form>
und 'create_entry.php' :
<?php include("dbconnect.php"); ?>
<?php
if ($submit == "submit")
{
$name = $_POST['name'];
$ort = $_POST['ort'];
$email = $_POST['email'];
$kommentar = $_POST['kommentar'];
$query = "insert into gaestebuch "
." (name,ort,email,url,kommentar) values "
."('$name', '$ort', '$email', '$url', '$kommentar')"
;
mysql_query($query)
or print ">>> MySQL-Error: ".mysql_errno()." -> ".mysql_error()."<br>\n";
?>
<h2>Danke!!</h2>
<h2><a href="view.php">Sehen Sie mein Gästebuch an!!!</a></h2>
<?php
}
else
{
include("sign.php");
}
?>
So, also daß keine Fehlermeldungen angezeigt werden, gibt ja vielleicht noch einen Hoffnungsschimmer ;-)
Erst mal bis dann,
Grüße, Jobst ;-) ;-) ;-)
Ich schlag mich hier jetzt schon eine ganze Weile rum und komm einfach nicht auf die Lösung des Problems ....
Ich bin mit PHP und MySQL noch ganz neu. ...
Vielleicht kann mir ja jemand helfen.
Es handelt sich um ein einfaches in PHP geschriebenes Gästebuch.
Es werden Daten in Textfelder geschrieben und diese sollten dann über eine INSERT-Anweisung in die Datenbank eingefügt werden. Nur genau das tuen sie nicht.
Es passiert einfach gar nichts.
Wenn ich nach der Texteingabe in die Textfelder den 'submit'-Button drücke
verschwindet der Text aus den Textfeldern und in die Datenbank werden keine Daten
eingefügt. Es gibt auch keine Fehlermeldung .... Schon alles ziemlich mysteriös, denn von der Konsole aus kann ich Daten mit 'Insert' in die Datenbank einfügen . Nur von meinem PHP-Script kriege ich keinen
'Insert'-Zugriff auf die Datenbank. Das Eigenartige dabei ist, daß ich mir aber von
einem PHP-Script aus mit der 'Select * From'-Anweisung die Daten die bereits in der
Datenbank liegen ausgeben lassen kann ....
Die Verbindung zur Datenbank selbst muß wohl in Ordnung sein.
Aber ich denke langsam komme ich der Lösung des Problems näher ... ;-)
Ich habe wieder ein paar Sachen zur Problemlösung probiert.
Für den Benutzername habe ich 'root' und auch 'jobst' probiert. Beides wurde angenommen. Aber ohne Erfolg.
Dann habe ich die Variablen-Kennzeichnung
$_POST['$name'] = $name; umgedreht zu
$name = $_POST['$name'];
Auch das wird angenommen, aber ohne Erfolg.
Die Fehlermeldung habe ich eingefügt. Es werden aber keine Fehler beim Ausführen angezeigt.
Dabei kam mir Idee innerhalb der SQL-Anfrage einfach mal imaginäre Sachen reinzuschreiben - wie es dann so mit den Fehlermeldungen aussieht ........
Und siehe da :
Ich kann den größten Unsinn
reinschreiben und es gibt keine Fehlermeldungen !!!!!!!!!!!!!!!!!!!!!
Eigenartig dabei ist daß dies nur bei 'create_entry.php' so der Fall ist. Beim funktionierenden Script 'view.php! (siehe weiter unten) zum Anzeigen des Tabellen-Inhalts kann ich keine Fehler einbauen. Dort werden sie sofort erkannt .....
O.k., wie gesagt, den Inhalt einer Tabelle kann ich mir anzeigen lassen. Dieses Script funktioniert dabei ohne Probleme :
'view.php' :
<?php include("dbconnect.php"); ?>
<h2>Gästebuch!!</h2>
<?php
$result = mysql_query("select * from gaestebuch") or die ("Fehler");
if ($result)
{
while ($row = mysql_fetch_array($result))
{
print "<b>Name:</b>";
print $row["name"];
print "<br>\n";
print "<b>Ort:</b>";
print $row["ort"];
print "<br>\n";
print "<b>E-Mail:</b>";
print $row["email"];
print "<br>\n";
print "<b>URL:</b>";
print $row["url"];
print "<br>\n";
print "<b>Kommentar:</b>";
print $row["kommentar"];
print "<br>\n";
print "<br>\n";
print "<br>\n";
}
mysql_free_result($result);
}
?>
<h2><a href="sign.php">Signieren Sie mein Gästebuch!!</a></h2>
Das Problem liegt dann wohl eher irgendwo hier in diesen beiden Scripten über die die Daten per 'INSERT' in die Datenbank eingefügt werden sollen :
'sign.php' :
<?php include ("dbconnect.php"); ?>
<h2>Signieren Sie mein Gästebuch !!!</h2>
<form method=post action="create_entry.php">
<b>Name:</b>
<input type=text size=40 name=name>
<br>
<b>Ort:</b>
<input type=text size=40 name=ort>
<br>
<b>E-Mail:</b>
<input type=text size=40 name=email>
<br>
<b>URL:</b>
<input type=text size=40 name=url>
<br>
<b>Kommentar:</b>
<textarea name=kommentar cols=40 rows=4 wrap=virtual></textarea>
<br>
<input type=submit name=submit value="Signieren!">
<input type=reset name=reset value="Löschen">
</form>
und 'create_entry.php' :
<?php include("dbconnect.php"); ?>
<?php
if ($submit == "submit")
{
$name = $_POST['name'];
$ort = $_POST['ort'];
$email = $_POST['email'];
$kommentar = $_POST['kommentar'];
$query = "insert into gaestebuch "
." (name,ort,email,url,kommentar) values "
."('$name', '$ort', '$email', '$url', '$kommentar')"
;
mysql_query($query)
or print ">>> MySQL-Error: ".mysql_errno()." -> ".mysql_error()."<br>\n";
?>
<h2>Danke!!</h2>
<h2><a href="view.php">Sehen Sie mein Gästebuch an!!!</a></h2>
<?php
}
else
{
include("sign.php");
}
?>
So, also daß keine Fehlermeldungen angezeigt werden, gibt ja vielleicht noch einen Hoffnungsschimmer ;-)
Erst mal bis dann,
Grüße, Jobst ;-) ;-) ;-)
Kommentar