Kontaktformular mit Datenbankspeicherung
Jeder, der eine Webseite besitzt, möchte dem Besucher eine Kontaktmöglichkeit geben.
In diesem Tutorial wird gezeigt, wie man ein solches Kontaktformular inklusive Datenbankspeicherung erstellt.
Wir erstellen eine Datei mit dem Namen
kontaktformular.php und legen auch gleich los.
Wir fangen zunächst mit dem HTML Gerüst an:
Code:
<table>
<tr>
<td colspan="2">
Kontaktformular
</td>
</tr>
<tr>
<td>
<label for="name">Name:</label>
</td>
<td>
<input type="text" id="name" name="name" value="" />
</td>
</tr>
<tr>
<td>
<label for="email">Email:</label>
</td>
<td>
<input type="text" id="email" name="email" value="" />
</td>
</tr>
<tr>
<td colspan="2">
<label for="nachricht">Nachricht</label>
</td>
</tr>
<tr>
<td colspan="2">
<textarea id="nachricht" name="nachricht"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="senden" value="Nachricht versenden" />
</td>
</tr>
</table>
Nachdem wir das nötige HTML fertig geschrieben haben, sieht das Ganze im Browserfenster schon einmal so aus:
Jetzt benötigen wir noch das <form> Tag um das HTML Gerüst herum, damit wir mit den eingegebenen Daten arbeiten können.
Code:
<form action="kontaktformular.php" method="post">
</form>
Dieser Code muss um das ganze HTML Gerüst und sieht dann so aus:
Code:
<form action="kontaktformular.php" method="post">
<table>
<tr>
<td colspan="2">
Kontaktformular
</td>
</tr>
<tr>
<td>
<label for="name">Name:</label>
</td>
<td>
<input type="text" id="name" name="name" value="" />
</td>
</tr>
<tr>
<td>
<label for="email">Email:</label>
</td>
<td>
<input type="text" id="email" name="email" value="" />
</td>
</tr>
<tr>
<td colspan="2">
<label for="nachricht">Nachricht</label>
</td>
</tr>
<tr>
<td colspan="2">
<textarea id="nachricht" name="nachricht"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="senden" value="Nachricht versenden" />
</td>
</tr>
</table>
</form>
Jetzt kommt der MySQL mit PHP Teil an der Geschichte.
Wir gehen davon aus, dass eine Datenbank vorhanden und eine Tabelle erstellt wurde.
Beispiel:
Unsere Tabelle besitzt den Namen:
Kontaktformular
Unsere Struktur sieht so aus:
id (auto_increment) |
name |
email |
nachricht
Code:
<?php
// Wenn der Button "Nachricht versenden" gedrückt wurde...
if(isset($_POST['senden'])) {
// Unnötige Leerzeichen aus dem String, sowie HTML und PHP Code entfernen
// Unnötige Leerzeichen aus dem String, sowie HTML und PHP Code entfernen
// Unnötige Leerzeichen aus dem String, sowie HTML und PHP Code entfernen
// Prüfen ob Name gefüllt ist und die Email der Echtheit entspricht
if(!empty($name) AND
eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$",$email)) {
// Vorsicht!!! Datenbankverbindung wird hier nicht angezeigt
// Daten in Datenbank speichern
$result = mysql_query("INSERT INTO Kontaktformular (name,email,nachricht) VALUES ('$name','$email','$nachricht')");
}
}
?>
Nun der komplette Code nochmal als Ansicht:
Code:
<?php
if(isset($_POST['senden'])) {
if(!empty($name) AND
eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$",$email)) {
$result = mysql_query("INSERT INTO Kontaktformular (name,email,nachricht) VALUES ('$name','$email','$nachricht')");
}
}
?>
<form action="kontaktformular.php" method="post">
<table>
<tr>
<td colspan="2">
Kontaktformular
</td>
</tr>
<tr>
<td>
<label for="name">Name:</label>
</td>
<td>
<input type="text" id="name" name="name" value="" />
</td>
</tr>
<tr>
<td>
<label for="email">Email:</label>
</td>
<td>
<input type="text" id="email" name="email" value="" />
</td>
</tr>
<tr>
<td colspan="2">
<label for="nachricht">Nachricht</label>
</td>
</tr>
<tr>
<td colspan="2">
<textarea id="nachricht" name="nachricht"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="senden" value="Nachricht versenden" />
</td>
</tr>
</table>
</form>
Viel Spaß beim einbauen und verwenden des Kontaktformulares.
Nützliche Erklärungen zu Funktionen, die in diesem Tutorial angewendet wurden:
isset() Funktion
empty() Funktion
trim() Funktion
strip_tags() Funktion
Bei Fragen oder Anregungen zu dieser Seite, steht dir das
Forum zur Verfügung.
Diese Seite wurde 972 mal angesehen.