Artikel »
Coding »
Zusatz zu Formulardaten übergeben: Daten in Datenbank speichern |
Zusatz zu Formulardaten übergeben: Daten in Datenbank speichern
12.03.2008 von BooGT
Vorwort:
Das hier ist nun ein Zusatz bzw. die Weiterführung von dem Tutorial: Formulardaten übergeben.Nun werden sie noch zusätzlich in eine Datenbank eingespeichert.Dieses Tutorial geht nur wenn man auch das andere Tutorial durchgelesen und abgearbeitet hat.
Inhalt: zusätzlich zu der 1x .php und 1x .htm kommen noch 2x eine .php Datei
Schritt 1:
Da wir in diesen Tutorial ja die Daten die wir mit dem Formular verschicken nun in eine Datenbank speichern wollen müssen wir wohl erstmal eine Tabelle in irgendeiner Datenbank erstellen.
Hier der Code zum erstellen der Tabelle:
| Quellcode CREATE TABLE `formulardaten` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(60) NOT NULL,
`nachricht` TEXT NOT NULL,
`date` DATETIME NOT NULL,
PRIMARY KEY (`id`)
); | |
Schritt 2:
Nun haben wir die Tabelle in die alle Daten rein kommen erstellt nun müssen wir sie auch da rein bekommen.Nun nehmen wir wieder die schon erstellte daten.php aus dem letzten Tutorial.
Da könnt ihr erstmal alles bis auf die ersten 3 Zeilen löschen.
Nun müssen wir erstmal eine Verbindung zur Datenbank erstellen:
| PHP-Quelltext <?php
$name = $_POST['author']; // Author wird in die Variable $name gespeichert
$nachricht = $_POST['nachricht']; // Nachricht wird in die Variable $nachricht gesichert
$db = mysql_connect("localhost", "user", "passwort"); // Hier eigene Daten eintragen
$select = mysql_select_db("tutorial"); // Datenbank auf die zugegriffen wird
?> | |
Schritt 3:
Nun besteht eine Datenbankverbindung nun müssen wir die Daten in die Datenbank speichern:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | | PHP-Quelltext <?php
$name = $_POST['author'];
$nachricht = $_POST['nachricht'];
$db = mysql_connect("localhost", "sven", "");
$select = mysql_select_db("tutorial");
$befehl = "INSERT INTO formulardaten(name,nachricht,date) VALUES('$name', '$nachricht', NOW())"; // hier werden die daten und der MYSQL Befehl in die Variable $befehl gespeichert
$einfuegen = mysql_query($befehl); // hier wird der Befehl dann in der Datenbank ausgeführt und fügt die daten so hinzu
if($einfuegen == TRUE) {
echo "Die Daten wurden erfolgreich hinzugefügt<br />";
echo "<a href=\"ausgabe.php\">Zur Datenausgabe</a>";
} else {
echo "Die konnten nicht hinzugefügt werden";
}
// Nun haben wir hier noch eine kleine Abfrage die prüft ob ein Datensatz hinzugefügt werden konnte
?>
| |
Schritt 4:
Wie man schon im 3. Schritt sieht kommt ein Link wenn der Datensatz erfolgreich in die Datenbank eingefügt wurde und der führt zur ausgabe.php die wir nun erstellen.Ihr ihr werden wir die Daten aus der Datenbank auslesen.
Als erstes erstellen wir wieder eine Verbindung zur Datenbank und selektieren die Datenbank in der die Tabelle formulardaten sich befindet.
| PHP-Quelltext <?php
$db = mysql_connect("localhost", "name", "passwort"); // hier müssen wieder eigene Angaben rein
$select = mysql_select_db("datenbankname"); // hier name der datenbank in der sich die Tabelle befindet
?> | |
Als nächsten greifen wir wieder auf die Tabelle formulardaten zu und ordnen die ausgabe nach id:
| PHP-Quelltext <?php
$db = mysql_connect("localhost", "name", "passwort"); // hier müssen wieder eigene Angaben rein
$select = mysql_select_db("datenbankname"); // hier name der datenbank in der sich die Tabelle befindet
$sql = mysql_query("SELECT * FROM formulardaten ORDER BY id DESC");
?> | | |
Nun werden wir noch die Daten aus der Datenbank per while-schleife in einen array speichern und dann die daten in einer tabelle ausgeben:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | | PHP-Quelltext <?php
$db = mysql_connect("localhost", "name", "passwort"); // hier müssen wieder eigene Angaben rein
$select = mysql_select_db("datenbankname"); // hier name der datenbank in der sich die Tabelle befindet
$sql = mysql_query("SELECT * FROM formulardaten ORDER BY id DESC");
while($daten = mysql_fetch_array($sql)) {
$id = $daten['id'];
$name = $daten['name'];
$nachricht = $daten['nachricht'];
$date = $daten['date'];
?>
<table border="0" width="500" cellpadding="0" cellspacing="0" align="center">
<tr>
<td width="80">
Eintrags-ID:
</td>
<td><?= $id ?>
</td>
</tr>
<tr>
<td width="80">
Name:
</td>
<td><?= $name ?>
</td>
</tr>
<tr>
<td width="80">
Eintragszeit:
</td>
<td><?= $date ?>
</td>
</tr>
<tr>
<td width="80">
Nachricht:
</td>
<td><?= $nachricht ?>
</td>
</tr>
<tr height="20">
<td>
</td>
<td>
</td>
</tr>
</table>
<?php
}
?> | |
Und schon werden alle Daten untereinander und das neuste zuerst ausgegeben.
Ich hoffe das es gut genug erklärt ist ansonsten meldet euch einfach im Forum falls ihr noch Probleme haben solltet oder benutzt hier die Kommentarfunktion.
|
|