Support
 
PHP - Scriptsprache

Beispiel: Kontaktformular

 

Dieses Beispiel soll Ihnen veranschaulichen, mit wie wenig Aufwand ein gutes Kontaktformular erstellt werden kann.

Dieses Kontaktformular überprüft die gemachten Eingaben auf Vollständigkeit und macht den Benutzer auf Fehleingaben aufmerksam. Das dahinterliegende PHP-Skript schickt dem Ausfüller und dem Betreiber der Site ein Bestätigungsmail.

Eingabemaske
Die Eingabemaske für den Benutzer hat folgende Eingabefelder und Feldernamen:

Eingabefeld Feldname
Name/Vorname name
Adresse adresse
PLZ/Ort ort
E-Mail-Adresse email
Bemerkungen bemerkungen

Die Eingabe von Name, Ort und E-Mail-Adresse soll Pflicht sein und das Feld "E-Mail-Adresse" soll auf Richtigkeit überprüft werden (Die Eingabe muss ein "@" und mindestens ein "." enthalten, ansonsten ist es keine gültige E-Mail-Adresse).

Filenamen:
Die Formulareingabe-Seite soll "formular.htm" heissen. Mit dem Abschicken-Button soll die Seite "formauswert.php" (mit der Methode GET) aufgerufen werden.

Sie können nun selbst eine solche Eingabe-Maske kreieren oder die vorgefertigte herunterladen: formular.doc. Sie müssen das File nach dem Download in formular.htm umbenennen. Es handelt sich um ein normales Textfile, welches man mit jedem Texteditor bearbeiten kann.

Die Antwortseite formauswert.php
Die Antwortseite soll bei korrekter Eingabe einen Text ausgeben, welcher den Benutzer über den korrekten Empfang informiert. Zusätzlich erhält der Benutzer und der Betreiber der Internetsite ein E-Mail als Empfangsbestätigung.

Die Seite generieren Sie mit Vorteil mit einem HTML-Tool. Vor allem das Layout und die Darstellung ist mit bspw. Frontpage einfacher zu gestalten, wenn noch keine PHP-Befehle integriert sind! Erstellen Sie also eine neue Seite, auf welcher auch gerade der Bestätigungstext (für den Optimalfall, dass der Kunde keine Falscheingaben gemacht hat) aufweist. Sie können auch folgendes File herunterladen, welches Ihnen eine Starthilfe gibt: formauswert1.doc. Laden Sie dieses File lokal auf Ihren PC und benennen Sie es um in formauswert.php.

Geben Sie nach dem <Body>-Befehl (im HTML-Quellcode) Ihre PHP-Befehle ein.

Überprüfen auf Eingabe der "Muss"-Felder
Um zu überprüfen, dass die Felder "name", "ort" und "email" gefüllt sind, müssen Sie folgenden Code eingeben:

$Fehler="N";
if ($name == ""){$Fehler="Y"; $Feld = $Feld."- Name<br>";}
if ($ort == ""){$Fehler="Y"; $Feld = $Feld."- PLZ/Ort<br>";}
if ($email == ""){$Fehler="Y"; $Feld = $Feld."- E-Mail<br>";}

if ($Fehler == "Y")
{ echo "Sie haben folgende Felder nicht ausgefüllt:<br>";
echo "$Feld<br>";
echo "Gehen Sie zurück und korrigieren Sie den Fehler";
echo "<br><br>";
exit();
}

Dieser Programmcode überprüft jedes Muss-Feld auf eine Eingabe. Falls der Benutzer ein Muss-Feld nicht eingegeben hat, so wird ihm auch gleich mitgeteilt, welches Feld dies ist. Hat ein Benutzer gar kein Muss-Feld ausgefüllt, so bekommt er eine kleine Liste von Feldern, die er noch ausfüllen muss.

Überprüfen der Emailadresse auf Richtigkeit
Um eine Zeichenkette auf ein spezielles Zeichen zu prüfen, verwenden wir den Befehl strstr(). Dieser Befehl gibt False zurück, wenn das gesuchte Zeichen nicht vorhanden ist und gibt den Rest der Zeichenkette zurück vom ersten Auftauchen des gesuchten Zeichens.

$Fehler = "N";
if (!strstr($email,"@")) {$Fehler = "Y";}
if (!strstr($email,".")) {$Fehler = "Y";}

if ($Fehler == "Y")
{ echo "Die angegebene E-Mail-Adresse ist keine gültige";
echo "Emailadresse. <br>Korrigieren Sie den Fehler";
echo "auf der vorhergehenden Seite!";
exit();
}

Das "!"-Zeichen vor dem strstr()-Befehl ist der NOT-Befehl. Mit diesem ändern wir ein evtl. False (die E-Mail-Adresse enthält kein "@" resp. ".") in ein True um. Wenn im IF-Befehl auf True abgefragt wird, trifft die Aussage immer zu und die Befehle in der geschweiften Klammer werden ausgeführt. Konkret heisst das, dass $Fehler auf "Y" gesetzt wird, wenn kein "@" oder "." in der Variablen $email vorhanden ist.

E-Mail versenden
Das E-Mail soll an den Benutzer und an den Betreiber der Site geschickt werden. Zuerst erstellen wir den Brief, welcher als E-Mail verschickt wird:

$mailtext = "";
$mailtext .="Hallo ".$name."\n\n";
$mailtext .="Wir haben Ihre Adresse erhalten.\n\n";
$mailtext .="Vielen Dank für Ihre Anfrage.\n\n";
$mailtext .="Name :".$name."\n";
$mailtext .="Adresse:".$adresse."\n";
$mailtext .="PLZ/Ort:".$ort."\n";
$mailtext .="E-Mail :".$email."\n";
$mailtext .="Bem. :".$bemerkungen."\n";

$vonadr = "From: php@inethosting.ch";

/* E-Mail an Kunden */
mail($email,"Formularbestätigung",$mailtext,$vonadr);

/* E-Mail an Betreiber der Site */
mail("info@gugus.ch","Formularbestätigung",$mailtext,$vonadr);

Login Member Area




Login Webmail




Produkte erweitert

per 1.11.2007 hat inethosting.ch die Produkte massiv ausgebaut. Neu erhalten Sie zum Beispiel 10GB Webspace für das Silver Produkt.

 

mehr...