Teil von  SELFPHP   Teil von  Praxisbuch
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 



 

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&uuml;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&uuml;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&uuml;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&uuml;ck</a></td>
  </tr>
</table>
</body>
</html>
"
;
}

?>




 



 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de