Hallo,
mich quält ein Riesenproblem:
ich hab' mit MySQL eine Datenbank angelegt (siehe Anhang)
Nun möchte ich Daten in diese DB speichern, was mir einfach nicht gelingen will.
Zum besseren Verständnis hier mal die beiden Quellcodes:
und hier die zweite:
Ich bekomme stets Fehlermeldungen und Programmabsturz auf der zweiten Seite.
So hat z.B. die Variable $num den Wert -1 obwohl die DB leer ist. Das führt natürlich
zu einer Fehlermeldung. Obwohl die Zeile
Die Zeile
Natürlich weiß ich, das im Moment, beim Entwickeln stets die IP meines Rooters zurückgegeben
wird. Auch ein Flop.
Noch eine Anmerkung:
ich komme aus der VBA Programmierung. Dort kann man Quellcode Step by Step durchlaufen und den
Wert der Variablen prüfen. Damit wird die Fehlersuche um vieles einfacher. Das vermisse ich bei PHP.
Mein schlaues "Fachbuch" sagt, das es so etwas hier nicht gibt.
Freund, mein Frust kennt mittlerweile kein Limit mehr.
Ich hoffe sehr, das mir eine(r) von euch helfen kann.
Ich nehme fast an, das ihr euch an den Kopf fasst über die/den Fehler die ich unwissentlich
eingebaut habe.
LG
willytyp
mich quält ein Riesenproblem:
ich hab' mit MySQL eine Datenbank angelegt (siehe Anhang)
Nun möchte ich Daten in diese DB speichern, was mir einfach nicht gelingen will.
Zum besseren Verständnis hier mal die beiden Quellcodes:
Code:
<html>
<head>
<body>
<p>Geben Sie bitte einen vollständigen Datensatz ein<br />
und senden Sie das Formular ab:</p>
<form action = "gesendet.php" method = "post">
<p><input name="name" /> name</p>
<p><input name="email" /> email</p>
<p><input name="kommentar" /> kommentar</p>
<p><input type="submit" name="gesendet" />
<input type="reset" /></p>
</form>
<p>Alle Datensätze <a href="db_tabelle.php">anzeigen</a></p>
</body>
</html>
und hier die zweite:
Code:
<html
<head>
<body>
<?php
if (isset($_POST["gesendet"]))
{
$con = mysqli_connect("","root");
mysqli_select_db($con, "gaestebuch"); /*Datenbank*/
$client_ip = $_SERVER['REMOTE_ADDR']; /*IP ermitteln*/
echo $client_ip; /*nur zum Testen*/
$sql = "insert gaeste" /*Tabelle*/
. "(name,email,ip,kommentar) values " /*Spalteüberschriften*/
. "('" . $_POST["name"] . "', " /*Zeichenkette mit Anfangsklammer*/
. "'" . $_POST["email"] . ", " /*Zeichenkette*/
. "'" . $_POST[$client_ip] . ", " /*funktioniert nicht*/
. "'" . $_POST["kommentar"] . "')"; /*Zeichenkette mit Endklammer*/
mysqli_query($con, $sql);
$num = mysqli_affected_rows($con);
if ($num>0)
{
echo $num; /*nur zum Testen*/
echo "<p><font color='#00aa00'>";
echo "Es wurde 1 Datensatz hinzugefügt";
echo "</font></p>";
}
else
{
echo $num; /*nur zum Testen- hier wird -1 angezeigt*/
echo "<p><font color='#ff0000'>";
echo "Es ist ein Fehler aufgetreten, ";
echo "es wurde kein Datensatz hinzugefügt";
echo "</font></p>";
}
mysqli_close($con);
}
?>
</head>
</body>
</html>
Ich bekomme stets Fehlermeldungen und Programmabsturz auf der zweiten Seite.
So hat z.B. die Variable $num den Wert -1 obwohl die DB leer ist. Das führt natürlich
zu einer Fehlermeldung. Obwohl die Zeile
die Anzahl der Einträge liefern soll.$num = mysqli_affected_rows($con);
Die Zeile
soll die IP des Absenders liefern. Pustekuchen, wieder Fehlermeldung.$client_ip = $_SERVER['REMOTE_ADDR'];
Natürlich weiß ich, das im Moment, beim Entwickeln stets die IP meines Rooters zurückgegeben
wird. Auch ein Flop.
Noch eine Anmerkung:
ich komme aus der VBA Programmierung. Dort kann man Quellcode Step by Step durchlaufen und den
Wert der Variablen prüfen. Damit wird die Fehlersuche um vieles einfacher. Das vermisse ich bei PHP.
Mein schlaues "Fachbuch" sagt, das es so etwas hier nicht gibt.
Freund, mein Frust kennt mittlerweile kein Limit mehr.
Ich hoffe sehr, das mir eine(r) von euch helfen kann.
Ich nehme fast an, das ihr euch an den Kopf fasst über die/den Fehler die ich unwissentlich
eingebaut habe.
LG
willytyp