Hallo,
ich bin grad dabei den Umgang mit Datenbanken zu lernen (MySQL) und habe hier ein Buch mit Beispielen, wie man die Verbindung zu einer DB aufbaut, Inhalte abruft usw.
Soweit klappt alles, bis auf das Eintragen von neuen Daten mittels Formular.
Das Script liegt auch so wie im Buch beschrieben auf einer CD vor - wenn ich mich also irgendwo verschrieben haben sollte, dann wäre auf der CD der gleiche Fehler vorhanden, denn das Ergebnis sieht identisch aus: es werden keine Daten in die DB geschrieben. Eine Fehlermeldung erhalte ich aber auch nicht.
Kurzzusammenfassung des Scripts:
Als Beispiel wird eine Linkliste erzeugt, es gibt die Felder:
id, url, urlname, name, banner, beschreibung
Über folgende Dateien soll der Eintrag geschehen:
dbconnect.php (Verbindung zur DB Herstellen, das klappt):
<?php
$server = "localhost";
$user = "...";
$pass = "...";
$datenbank = "...";
$verbindung = mysql_connect($server,$user,$pass);
mysql_select_db($datenbank);
?>
eintragen.php (Script, um in die DB zu schreiben und die Werte anschließend ausgeben zu lassen; Ausgabe klappt, aber außer "von" aus der letzten "echo-Zeile" sehe ich nichts, es wird nur jeweils eine neue ID angelegt, aber in den Spalten steht nichts [kontrolliert mit phpMyAdmin; hier manuell eingetragene Werte werden korrekt ausgegeben]):
<?php
include("dbconnect.php");
$eintrag = "INSERT INTO links (url, urlname, name, banner, beschreibung) VALUES ('$url', '$urlname', '$name', '$banner', '$beschreibung')";
$eintragen = mysql_query($eintrag);
# gibt DB-Inhalt aus:
$abfrage = "SELECT * FROM links";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo "<a href='$row->url'>";
echo $row->urlname;
echo "</a>\n";
echo "<br>";
echo $row->beschreibung ." von ". $row->name ."<br><br>";
}
?>
Und zuletzt, das Formular:
<html>
<head>
<title>Link eintragen</title>
</head>
<body>
<form action="eintragen.php" method="POST">
<br>URL:
<br>
<input type="text" name="url" maxlength="100">
<br>URL-Name:
<br>
<input type="text" name="urlname" maxlength="250">
<br>Name:
<br>
<input type="text" name="name" maxlength="100">
<br>Banner-URL:
<br>
<input type="text" name="banner" maxlength="250">
<br>Beschreibung:
<br>
<textarea cols="40" rows="5" name="beschreibung"></textarea>
<br><br>
<input type="submit" value="Eintragen">
</form>
</body>
</html>
Woran liegt das? Das Script müsste ja stimmen. Tabellenname "links" sowie alle Feldnamen stimmen und sind in der korrekten Reihenfolge.