Kontaktformular

Das nachfolgende Script scannt alle Eingabefelder eines Formulars und sendet diese an eine angegebende Adresse. Ihr könnt dies gut verwenden zur Programmierung eines Kontaktformulars. Ein schönes Feature von diesem Script: Ändert sich euer Formular, so müsst ihr am Script nichts ändern, denn alle Eingabefelder werden automatisch erkannt.

 

Erklärung

Als erstes geben wir eine gültige Absenderadresse, am besten die vom Server selber an, denn manche Mailanbieter (z.B. GMX) benötigen eine gültige Mailadresse als Absendern. In $sendermail_antwort = 1; geben wir an, ob der Wert aus dem Feld Email ($name_von_emailfeld) als Absender gelten soll.

$send_dat
$send_dat ist ein mehrdimensionales Array, sprich es ist ein Array, welches ein 2 Array enthält. Dies 2. Array enthält die Werte, die für die Mail wichtig ist.
Empfänger, CC-Empfänger, Betreff, Zieladresse wenn Mail gesendet wurde, Zieladresse wenn ein Fehler auftrat.
Falls du 2 Formular hat, und die sollen einen anderen Datensatz benutzen, dann musst du ein hidden Feld haben mit dem Namen: send_index, und dieser muss dann z.B. den Wert haben: dat2.

Du kannst mehrere Datensätze anlegen, indem du einfach folgendes Kopierst, und nach dem letzen Datensatz wieder einfügst:

Hierbei musst du nur dat1 ändern, und aus der 1 einen anderen Wert machen, z.B. dat3. Das Feld send_index muss dann den Wert haben, damit man den Datensatz benutzt.

$ignore_fields
Hier geben wir Felder an, die nicht abgefragt werden soll, und somit tauchen sie auch nicht in der Mail auf.

$send_index
Hier fragen wir ab, wie das Feld heißt, welches Auswählt, an welchen Datensatz die Mail gehen soll. Das Feld muss send_index heißen, und kann z.B. den Wert dat1 enthalten.

Danach ermittelt man noch das Datum und fügt das als erstes in die Mail ein.

Dies ist das Kernstück des Formmailer, denn hier fragen wir alle Felder ab, und speichern sie in $msg. Falls ein ignore Feld dabei ist, wird es übersprungen.

Zum Schluss senden wir die E-Mail und leiten den Besucher an die angegebende URL weiter.

Autor: