| |
| * Link führt ins Internet |
|
| |
Kontaktformular - Autoresponder
|
|
Nun kommen wir zu einem weiteren Punkt der sich wohl nicht vermeiden lässt, nämlich die Umsetzung eines Kontaktformulars. Was wäre eine Website ohne ein Kontaktformular, schliesslich sollen mögliche Besucher, Interessenten oder Kunden in der Lage sein mit dem Betreiber der Website kontakt auf zunehmen.
Um ein vollfunktionsfähiges Kontaktformular umzusetzen bedarf es nicht viel, um es jedoch in die Lage zu Versetzen beliebig viel Formularelemente zu verarbeiten, so dass es für unterschiedliche Zwecke eingesetzt werden kann, müssen Sie etwas mehr Know-How in die Waagschale werfen.
Wir werden Ihnen zeigen, dass auch die Umsetzung eines solchen universell einsetzbaren Formular kein all zu grosses Problem darstellt.
Zur Umsetzung der Eingabemaske benötigen Sie lediglich eine HTML-Seite, mit dem Namen kontaktformular.htm, welche ein von Ihnen entworfenes Formular enthält. Beim Einsatz der Formularelemente innerhalb der HTML-Seite ist darauf zu achten, dass das E-mail Textfeld den Namen mailer_email erhält. Alle anderen Formularelemente können Sie beliebig bezeichnen.
Für die Verarbeitung der Formular-Daten sind zwei Skripte verantwortlich:
. atomicmailer.php - in diesem Skript werden die Daten, welche aus kontaktformular.htm stammen gefiltert und überprüft. Diese werden anschliessend von autorespond.php weiter verarbeitet.
. autorespond.php - in diesem Skript wird dafür gesorgt, dass sowohl der Betreiber (webmaster) als auch der Besucher eine mail erhalten. Der Betreiber erhält die Angaben des Besuchers und der Besucher eine Benachrichtigung darüber, dass seine Anfrage so schnell, wie möglich bearbeitet wird.
Zusätzlich wurden folgende drei Ordner angelegt:
. bild - dieser enthält das Mailerlogo (mailerlogo.gif), hier können Sie nach belieben weiter Grafikdateien ablegen.
. css - dieser enthält die CSS-Datei (main.css), welche für die Layout-Formatierung des Kontaktformular zuständig ist.
. text - dieser enthält die Textdatei (automail.txt), mit der Autorespond-Nachricht die für den Besucher bestimmt ist.
Struktur des Kontaktformular
1. Atomicmailer.php
<?php
$form_name = "kontaktformular.htm";
//Stammen die Daten vom Formular?
if (isset($_POST["senden"])) {
// Textfeldeingaben Filtern
function daten_reiniger($inhalt) {
if (!empty($inhalt)) {
// HTML- und PHP-Code entfernen.
$inhalt = strip_tags($inhalt);
// Umlaute und Sonderzeichen in
//HTML-Schreibweise umwandeln
$inhalt = htmlspecialchars($inhalt);
// Entfernt überflüssige Zeichen
// Anfang und Ende einer Zeichenkette
$inhalt = trim($inhalt);
// Backslashes entfernen
$inhalt = stripslashes($inhalt);
}
return $inhalt;
}
// Schreibarbeit durch Umwandlung ersparen
foreach ($_POST as $key=>$element) {
if ($key != "senden") {
// Eingaben Filtern
$daten = daten_reiniger($element);
// Dynamische Variablen erzeugen, wie mailer_name, etc.
${"mailer_".$key} = $daten;
$maildaten .= "$key: $daten\n";
}
}
//Mailadresse korrekt angegeben - Name entsprechend formatieren
if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$mailer_email)){
$error_msg.="Fehlerhafte E-mail!<br>";
}
// Prüfen ob Fehler vorgekommen sind!
if($error_msg){
echo "
<html>
<head>
<title>Atomic-Mailer v1.0 - Fehler</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/mailerlogo.gif' width='700' height='59'></p>
<table width='300' align='center'>
<tr>
<td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
<p>$error_msg</p>
<a href='$form_name' class='contentlink'>Zurück</a><br>
Ihre Anfrage konnte nicht übermittelt werden.<br>
Versuchen Sie es bitte erneut!<br>
</td>
</tr>
</table>
</body>
</html>
";
} else {
$mailer_datum=date("Y-m-d H:i:s");
echo "
<html>
<head>
<title>Atomic-Mailer v1.0 - Versand</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/mailerlogo.gif' width='700' height='59'></p>
<table width='300' align='center'>
<tr>
<td align='center' class='latestnews' colspan='3'>- Vielen Dank! - <br>
Ihre Anfrage wurde erfolgreich verschickt.<br>
Vielen Dank!<br>
<a href='$form_name' class='contentlink'>Zurück</a></td>
</tr>
</table>
</body>
</html>
";
include("autorespond.php");
}
} else {
echo "
<html>
<head>
<title>Atomic-Mailer v1.0 - Fehler</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/mailerlogo.gif' width='700' height='59'></p>
<table width='300' align='center'>
<tr>
<td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
Ihre Anfrage konnte nicht übermittelt werden.<br>
Versuchen Sie es bitte erneut!<br>
<a href='$form_name' class='contentlink'>Zurück</a></td>
</tr>
</table>
</body>
</html>
";
}
?>
|
Kontaktformular im Einsatz
2. Autorespond.php
<?php
if (isset($_POST["senden"])) {
// Mail an Webmaster
$webmaster="matthiask@flashstar.de";
$mailinhalt = "
Atomic-Mailer - Anfrage\n
__________________\n
E-mail: $mailer_email\n
__________________\n
$maildaten
__________________\n
Zeit: $mailer_datum\n
__________________\n";
@mail($webmaster, "Atomic-Mailer - Anfrage", $mailinhalt, "From: $mailer_email");
// Autoresponder
$datei = "text/automail.txt";
$fp = fopen($datei, "r");
$inhalt = fread($fp,filesize($datei));
fclose($fp);
@mail("$mailer_email", "Atomic-Mailer - Danke für Ihre Anfrage", "$inhalt\n\n","From:$webmaster");
} else {
echo "
<html>
<head>
<title>Atomic-Mailer v1.0</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<p align='center'><img src='bild/mailerlogo.gif' width='700' height='59'></p>
<table width='300' align='center'>
<tr>
<td align='center' class='latestnews' colspan='3'>- FEHLER - <br>
Die Anfrage konnte nicht übermittelt werden.<br>
Versuchen Sie es bitte erneut!<br>
<a href='kontaktformular.htm' class='contentlink'>Zurück</a></td>
</tr>
</table>
</body>
</html>
";
}
?>
|
|
|
|
|
|
|
|