Form Mail Script pr�sentiert: Online Terminreservierung

Unser Programm Schedule Organizer erm�glicht den Kunden, Patienten oder Mandanten die Terminreservierung �ber die Homepage der Firma, ihres Arztes oder ihres Beraters. Das PHP-Script erleichtert und automatisiert die Terminverwaltung - die zust�ndigen Mitarbeiter werden entlastet, denn es m�ssen weniger Telefonanrufe entgegen genommen oder weniger Faxe und Briefe beantwortet werden.

Schedule Organizer Website

Nach oben

Dokumentation Form-Mail-Script

Vielen Dank f�r Ihr Interesse an unserem Form-Mail-Script. Wir empfehlen Ihnen, sich Zeit f�r die Lekt�re dieser Anleitung zu nehmen.

Nach oben

Einleitung

Das Form-Mail-Script erm�glicht Ihnen, Informationen aus Formularen auf Ihrer Website per E-Mail an einen oder mehrere Empf�nger zu senden. Die E-Mails k�nnen sowohl im Text- als auch im HTML-Format versendet werden. Dar�ber hinaus verf�gt das Script �ber mehrere Sicherheitsfunktionen um den Missbrauch durch Dritte (Spammer) zu verhindern. Au�erdem bietet das Script die M�glichkeit, alle versendeten Nachrichten mitzuloggen.

Bitte achten Sie darauf, dass Sie alle Dateien im Text-Modus (ASCII-Modus) auf Ihren Server kopieren.

Das Layout von Formular und E-Mail l�sst sich mit Hilfe von Templates nach Ihren W�nschen anpassen und Sie k�nnen bestimmen, ob der Benutzer auf eine Best�tigungsseite weitergeleitet wird oder ob er seine Daten nochmals angezeigt bekommt.

Das Script wird entweder �ber einen Link oder �ber ein Formular auf ihrer Website aufgerufen wird. Aus Sicherheitsgr�nden wird dabei die Verweisseite �berpr�ft und mit den Angaben der Script-Konfiguration verglichen. Bei �bereinstimmung wird das Script ausgef�hrt.

Das Script ist f�r den direkten Aufruf �ber einen Link und f�r den Aufruf durch ein bestehendes Formular ausgelegt. Beim direkten Aufruf des Scripts wird die Datei index.php direkt verlinkt und die darin voreingestellten Templates (HTML und Mail) verwendet.

Beim indirekten Aufruf wird das Script durch ein bereits bestehendes Formular in einer HTML-Seite aufgerufen. Durch diese Methode k�nnen Sie mehrere Formulare in Ihrer Seite mit demselben Script versenden. HTML- und Mail-Templates sowie alle weiteren Parameter f�r das Script k�nnen mit Hilfe von Hidden-Formularfeldern im HTML-Formular definiert werden.

Durch die indirekte Methode k�nnen Sie Ihre bestehenden Kontaktformulare ohne aufw�ndige �nderungen mit diesem Script weiter betreiben.

Das HTML-Template wurde nach den Spezifikationen f�r XHTML 1.0 erstellt. Deshalb enthalten alle einfachen Tags (<br> oder <input>) einen abschlie�enden Schr�gstrich (<br /> oder <input type="text" name="feld" />).

Nach oben

Installation des Scripts

Das Script ist fast fertig konfiguriert. Vorausgesetzt, dass Sie die Script-Dateien bereits entpackt haben, sind folgende Schritte durchzuf�hren:

Schritt 1

�ffnen Sie die Datei templates/mail.tpl.txt in einem Text-Editor. Tragen Sie im Kopf der Datei Ihre E-Mail-Adresse ein:

To: ihre-e-mail@example.com

Sie k�nnen auch Ihren Namen mit eintragen. Wichtig ist, dass Ihr Name dann in doppelten Anf�hrungsstrichen und Ihre E-Mail-Adresse in spitzen Klammern steht:

To: "Vorname Nachname" <ihre-e-mail@example.com>

Speichern und schlie�en Sie die Datei.

Schritt 2

Erstellen Sie auf Ihrem Server einen Unterordner (z.B. /mail/ oder /kontakt/). Kopieren sie alle Script-Dateien in das neue Verzeichnis auf Ihrem Server. Wichtig ist, dass Sie alle Verzeichnisse und Dateien zum Server hochladen.

Schritt 3

Nach dem Hochladen der Dateien k�nnen Sie die Datei index.php in Ihrem Browser aufrufen, z.B.:

http://www.example.com/kontakt/index.php

Das Script ist nun zum Testen bereit. F�llen Sie das Formular aus und senden es ab.

Schritt 4

Rufen Sie Ihr E-Mail-Konto ab. Sie sollten nicht zu ungeduldig sein. Es kann einige Minuten dauern, bis die E-Mail im E-Mail-Konto eintrifft.

Sollten Sie die auch nach einiger Zeit keine E-Mails empfangen, beginnen Sie bei Schritt 1 und probieren Sie es mit verschiedenen E-Mail-Adressen.

Sollte auch das keinen Erfolg bringen k�nnen Sie testen, ob Ihr Server �berhaupt E-Mails versenden kann. Erstellen Sie dazu eine Datei mailtest.php mit folgendem Inhalt:

 <?php
 
 mail('ihre-e-mail@example.com', 'Test-Betreff', 'Test-Nachricht');
 
 ?>
 

Kopieren Sie dann die Datei auf Ihren Server und rufen Sie die Datei in Ihrem Browser auf. Sollten Sie selbst damit keine E-Mails empfangen, kontaktieren Sie bitte Ihren Webspace-Anbieter.

Nach oben

Konfiguration des Scripts

Achtung: Wenn Sie folgende Fehlermeldung beim Aufruf des Scripts erhalten - 'Falscher oder leerer Referrer (Verweisseite)!' - dann m�ssen Sie in der Datei 'index.php' in die Variable '$referring_server' Ihren Servernamen (also Ihre Domain mit und ohne www und am besten auch die IP-Adresse) eintragen.

Beispiel:

$referring_server = 'www.example.com, example.com, 192.0.34.166';

Ein weiterer Grund f�r die Fehlermeldung kann sein, dass das Script direkt und ohne Klick auf einen Link beziehungsweise nicht �ber ein Formular aufgerufen wurde.

Sie k�nnen diese Funktion ausschalten, indem Sie diese Variable leer lassen. Das kann zu Testzwecken n�tzlich sein.

Weitere Variablen in der Datei "index.php":

$script_root     Standardm��ig enth�lt diese Variable folgenden Wert: "./". Das bedeutet, dass alle Pfade im Script-Verzeichnis beginnen. Sie k�nnen den Pfad �ndern, wenn Sie das Script an anderer Stelle Ihrer Website einbinden (include) m�chten.

$language     Tragen Sie hier das K�rzel f�r die Sprache ein (z.B.: de oder en). Welche Sprachen verf�gbar sind k�nnen Sie im Verzeichnis "languages" herausfinden.

Die folgende Funktion soll ebenfalls die Missbrauchsm�glichkeit des Scripts durch Dritte (Spammer) einschr�nken. Sie k�nnen die Anzahl der gesendeten E-Mails an die IP-Adresse des Benutzers koppeln.

$ip_banlist     In dieser Variablen k�nnen Sie IP-Adressen von Servern eintragen, die Sie von der Nutzung des Formmail-Scripts ausschlie�en m�chten. Wenn Sie diese Funktion nicht nutzen m�chten, lassen Sie die Variable einfach frei.

$ip_address_count     Tragen Sie hier die Anzahl der E-Mails ein, die ein Benutzer mit derselben IP-Adresse �ber das Formular absenden kann. Sollte ein Benutzer diese Zahl erreichen, kann er erst nach der n�chsten Einwahl in das Internet weitere E-Mails �ber das Formular versenden. Die Zahl 0 (Null) schaltet die Funktion ab.

    Wenn Sie diese Funktion aktivieren, wird gleichzeitig die Log-Funktion eingeschaltet. Stellen Sie deshalb sicher, dass der Ordner 'log' und die Log-Datei ('log/logfile.txt') Schreibrechte besitzen (chmod 777).

$ip_address_duration     Mit dieser Variable legen Sie den Zeitraum fest, f�r den die oben angegebene Maximalzahl der zu versendenden E-Mails gilt. Ist diese Zeitspanne abgelaufen, kann der Benutzer wieder E-Mails mit dem Formular versenden.

$show_limit_errors     Hat ein Benutzer die maximale Anzahl seiner erlaubten E-Mails erreicht oder steht seine IP-Adresse in der Bann-Liste, k�nnen Sie ihm eine Fehlermeldung anzeigen. Wenn Sie dem Benutzer keine Fehlermeldung anzeigen lassen, wird er automatisch auf die Danke-Seite weiter geleitet. Die E-Mail wird nicht versendet.

$log_messages     Hier schalten Sie die Logging-Funktion der E-Mails ein beziehungsweise aus. Wollen Sie die Funktion nutzen, stellen Sie deshalb sicher, dass der Ordner 'log' und die Log-Datei ('log/logfile.txt') Schreibrechte besitzen (chmod 777).

$text_wrap     Diese Variable enth�lt die Anzahl der Zeichen, nach der die Zeilen in der E-Mail umbrochen werden. Wird kein Wert angegeben, wird kein Zeilenumbruch eingef�gt.

$show_error_messages     Bei Auslieferung des Scripts ist diese Variable standardm��ig auf 'yes' gesetzt. Das hat zur Folge, dass Sie bei der Konfiguration des Scripts Fehlermeldungen und Hinweise zur Einrichtung des Scripts erhalten. Sobald aber das System funktioniert, k�nnen Sie die Ausgabe der Meldungen abschalten. So verwehren Sie allzu neugierigen Besuchern den Einblick in das System.

$path['logfile']     Diese Variable enth�lt den Pfad zur Log-Datei f�r die E-Mail-Nachrichten.

$path['templates']     Diese Variable enth�lt den Pfad zu den Template-Dateien (HTML und Mail). Der Pfad kann relativ (./templtes/ oder templates/) und absolut (z.B.: /usr/local/etc/httpd/.../formmail/templates/ oder /kunden/homepages/.../.../htdocs/formmail/templates/) angegeben werden (immer mit Slash am Ende).

$file['default_html']     Wenn Sie das Script durch den direkten Aufruf nutzen m�chten, muss diese Variable den Dateinamen des HTML-Templates enthalten. Dieses Template wird dann automatisch verwendet.

$file['default_mail']     Wenn Sie das Script durch den direkten Aufruf nutzen m�chten, muss diese Variable den Dateinamen des Mail-Templates enthalten. Dieses Template wird dann automatisch verwendet.

$add_text     Sie k�nnen weitere Werte, Text, Variablen oder andere Inhalte an dieser Stelle festlegen. Diese Inhalte k�nnen Sie dann mit Hilfe von entsprechenden Markierungen in geschweiften Klammern in die Templates �bertragen.

Wenn Sie eigene Werte in der Variable $add_text hinzuf�gen, folgen Sie bitte dem Muster, dass durch die beiden Beispieleintr�ge deutlich gemacht wurde.

   $add_text = array(
 
                       'txt_additional' => 'Additional',
                       'txt_more'       => 'More'
 
                     );
 

Der erste Teil eines Eintrags (z.B.: txt_additional) stellt den Namen der Platzhalter im Template dar. Wenn Sie also den Wert von txt_additional im Template anzeigen m�chten, tragen Sie dort den Namen umschlossen von geschweiften Klammern ein - {txt_additional}. Der Name darf keine Leer- oder Sonderzeichen enthalten. Erlaubt ist nur der Unterstrich.

Nach oben

Anpassung des HTML-Templates - templates/form.tpl.html

Die Template-Datei ist eine simple HTML-Datei und kann auch dementsprechend editiert werden. Mit Hilfe von HTML und CSS k�nnen Sie das Layout Ihren W�nschen anpassen.

Sollten Sie f�r die Anpassung WYSIWYG-Editoren wie Dreamweaver, Frontpage oder NetObjects Fusion verwenden, achten Sie bitte darauf, dass die Software keine eigenm�chtigen Ver�nderungen vornimmt. Die Funktionsweise des Scripts k�nnte sonst beeintr�chtigt werden.

Im Unterverzeichnis 'examples' befinden sich weitere HTML-Formulare. Diese sollen f�r Sie als Beispiele f�r die Erweiterung und Anpassung Ihres eigenen Formulars dienen. So haben Sie bei Benutzung des Templates 'alternative_form.tpl.html' die M�glichkeit, den Benutzer ausw�hlen zu lassen, ob er die gerade besuchte Seite oder die Startseite empfehlen m�chte. Und im Template 'advanced_form.tpl.html' sind Beispiele zur Verwendung von Checkboxen, Radio-Buttons und Auswahlmen�s aufgef�hrt.

In den Templates befinden sich Markierungen/Platzhalter in geschweiften Klammern, wie zum Beispiel {txt_script_name}. Die werden beim Aufruf des Scripts durch die entsprechenden W�rter ersetzt. Diese W�rter, also den Text f�r das Script, finden Sie in der Datei 'languages/language.de.inc.php'. Nat�rlich k�nnen Sie diese W�rter auch �ndern oder an eine andere Position innerhalb des Templates verschieben. Es spricht auch nichts dagegen, wenn Sie die Markierungen durch richtige W�rter ersetzen. Ebenso k�nnen Sie die Sprachdatei nach dem vorgegebenen Muster erweitern.

Folgende Platzhalter sind nicht in der Sprachdatei enthalten und darf auch nicht ver�ndert oder in der Sprachdatei durch eigene Definitionen angepasst werden:

{message}
 {fields}
 
 

Dateien einbinden (include)

Sie haben die M�glichkeit, Dateien direkt in das HTML-Template einzubinden. Dabei spielt es keine Rolle, ob Sie PHP-, HTML- oder andere Text-Dateien einbinden.

Beispiel:

<INCLUDE FILENAME="header.php">

Das Script ersetzt diese Zeile automatisch mit dem Inhalt der Datei "header.php". Bitte beachten Sie auch, dass relative Pfadangaben (../ etc.) im Hauptverzeichnis des Scripts (selbe Ebene wie index.php) beginnen m�ssen.

Wenn Sie absolute Pfadangaben verwenden (Pfadangabe startet mit Schr�gstrich), beginnt der Pfad standardm��ig im Hauptverzeichnis des Webordners.

Beispiel:

 /logs/
 /images/
 /layout/
 /layout/header.php
 /form_mail/
 /form_mail/templates/
 /form_mail/templates/form.tpl.html
 /form_mail/index.php

Angenommen, Sie m�chten die Datei "header.php" innerhalb der Datei "form.tpl.html" einbinden. Wenn Sie einen relativen Pfad angeben, m�ssen Sie auf er Ebene der "index.php" starten.

<INCLUDE FILENAME="../layout/header.php">

Wenn Sie eine absoluten Pfad angeben m�chten, geben Sie einfach den Pfad zur "header.php" ausgehend vom Hauptverzeichnis an:

<INCLUDE FILENAME="/layout/header.php">

Beispiele zu diesem Thema finden Sie auch im Verzeichnis "templates/examples_includes/".

Formularfelder

Zu jedem Formularfeldnamen im Template existiert automatisch ein gleichnamiger Platzhalter. Dadurch ist sichergestellt, dass die Daten bei einer Fehlermeldung im Formular wieder erscheinen. Der Platzhalter hat die gleiche Bezeichnung, wie das Formularfeld.

Beispiel:

<input type=�text� name=�lastname� value=�{lastname}�>

Sie k�nnen das Formular beliebig um weitere Felder erweitern. Bitte achten Sie darauf, dass die Feldnamen und Platzhalter keine Leer- oder Sonderzeichen enthalten.

Mehrere Empf�nger

Sie k�nnen eine Seite gleichzeitig an beliebig viele verschiedene Empf�nger empfehlen lassen. Im einfachsten Fall f�gen Sie dazu die gew�nschte Anzahl an Formularfelder f�r die E-Mails in Ihr Formular ein.

Die Feldnamen k�nnen frei gew�hlt werden (nur Buchstaben, Zahlen und Unterstrich), m�ssen aber immer mit dem Wort "multiple_" beginnen (auf den Unterstrich achten) und mit einer fortlaufenden Nummer "_1" enden (auf den Unterstrich achten).

Ein Beispiel finden Sie im Verzeichnis "templates/examples/". Das HTML-Template "multiple_recipients_form.tpl.html" ist f�r den Versand an mehrere Empf�nger vorbereitet. Dazu geh�rt auch die Datei "multiple_recipients_mail.tpl.txt".

Angenommen Sie m�chten vier potenzielle Empf�nger einrichten und als Feldnamen h�tten Sie gern "empfaenger_email", dann m�ssten Ihre Formularfelder wie folgt lauten:

 multiple_empfaenger_email_1
 multiple_empfaenger_email_2
 multiple_empfaenger_email_3
 multiple_empfaenger_email_4

Die fertigen Formularfelder f�r das HTML-Template s�hen dann so aus:

 <input type="text" name="multiple_empfaenger_email_1" value="{multiple_empfaenger_email_1}" />
 <input type="text" name="multiple_empfaenger_email_2" value="{multiple_empfaenger_email_2}" />
 <input type="text" name="multiple_empfaenger_email_3" value="{multiple_empfaenger_email_3}" />
 <input type="text" name="multiple_empfaenger_email_4" value="{multiple_empfaenger_email_4}" />
 

Die Feldnamen sind - wie gehabt - automatisch die Platzhalter f�r die Werte (value="...").

Sie k�nnen jedem Empf�nger beliebig viele weitere Formularfelder zuordnen. Alle Felder, die mit "multiple_" beginnen, werden anhand der fortlaufenden Nummer jeweils dem entsprechenden Empf�nger zugeordnet. Folgende Felder werden zum Beispiel alle dem 4. Empf�nger zugeordnet:

 <input type="text" name="multiple_vorname_4" value="{multiple_vorname_2}" />
 <input type="text" name="multiple_nachname_4" value="{multiple_nachname_4}" />
 <input type="text" name="multiple_empfaenger_email_4" value="{multiple_empfaenger_email_4}" />
 

Das Script verwendet f�r alle Empf�nger dasselbe E-Mail-Template. Die Platzhalter im Template hei�en genauso wie die Feldnamen im Formular. Die Zahlen am Ende werden jedoch durch ein Fragezeichen ersetzt. Das Script erkennt diese Platzhalter und ersetzt Sie automatisch mit den Werten des richtigen Empf�ngers. Beispiel:

To: "{multiple_vorname_?} {multiple_nachname_?}" <{multiple_email_?}>

Das Script verwendet dasselbe E-Mail-Template f�r alle Empf�nger.

Alle normalen Formularfelder erscheinen in jeder E-Mail.

Pflichtfelder

Alle Formularfelder lassen sich als Pflichtfelder definieren. Das Formular wird erst dann abgeschickt, wenn alle Pflichtfelder ausgef�llt sind. Tragen Sie dazu die Formularfeldnamen der gew�nschten Formularfelder in folgendes Hidden-Formularfeld im Template:

<input type="hidden" name="required_fields" value="" />

Beispiel:

<input type="hidden" name="required_fields" value="lastname, email, subject" />

E-Mail-Syntax

�hnlich wie bei den Pflichtfeldern k�nnen Sie bestimmen, welche Felder auf einen korrekten E-Mail-Syntax gepr�ft werden sollen.

<input type="hidden" name="email_fields" value="" />

Beispiel:

Erweiterte Fehlermeldungen

Standardm��ig werden Hinweismeldungen bei nicht ausgef�llten Pflichtfeldern oder bei falscher Schreibweise von E-Mails oberhalb des Formulars angezeigt.

Sie haben die M�glichkeit, Fehlermeldungen direkt neben, ober- oder unterhalb des entsprechenden Formularfeldes anzuzeigen. Au�erdem k�nnen Sie auch die Bezeichnung des Feldes nach Ihren W�nschen ver�ndern. Auf folgendem Screenshot sehen Sie, dass die Pflichtfelder Nachname, E-Mail-Adresse und Betreff nicht ausgef�llt wurden.

Folgende drei Platzhalter stehen Ihnen daf�r zur Verf�gung:

 {required:feldname='Fehlertext':endrequired}
 {syntax:feldname='Fehlertext':endsyntax}
 {error:feldname='Normaltext'||='Fehlertext':enderror}
 
 

{required:feldname='Fehlertext':endrequired}

Wenn Sie das Feld "nachname" haben und als Pflichtfeld definieren, dann k�nnen Sie folgenden Platzhalter f�r die Fehlermeldung schreiben:

{required:nachname='Bitte geben Sie Ihren Nachnamen an.':endrequired}

Wenn das Feld nicht ausgef�llt wurde, wird der Platzhalter durch die in ihm enthaltene Fehlermeldung ersetzt:

Bitte geben Sie Ihren Nachnamen an.

Sie k�nnen den Fehlertext auch formatieren, am besten mit CSS:

{required:nachname='<span style="font-weight:bold;color:#FF0000;">Bitte geben Sie Ihren Nachnamen an.</span>':endrequired}

Der Fehlertext erscheint nun fett gedruckt und in roter Schriftfarbe:

Bitte geben Sie Ihren Nachnamen an.

{syntax:feldname='Fehlertext':endsyntax}

Wenn Sie das Feld "email" haben und als E-Mail-Syntaxfeld definieren, dann k�nnen Sie folgenden Platzhalter f�r die Fehlermeldung schreiben:

{syntax:email='Bitte geben Sie eine g�ltige E-Mail-Adresse an.':endsyntax}

Wenn das Feld nicht korrekt ausgef�llt wurde, wird der Platzhalter durch die in ihm enthaltene Fehlermeldung ersetzt:

Bitte geben Sie eine g�ltige E-Mail-Adresse an.

Sie k�nnen den Fehlertext auch formatieren, am besten mit CSS:

{syntax:email='<span style="font-weight:bold;color:#FF0000;"> Bitte geben Sie eine g�ltige E-Mail-Adresse an.</span>':endsyntax}

Der Fehlertext erscheint nun fett gedruckt und in roter Schriftfarbe:

Bitte geben Sie eine g�ltige E-Mail-Adresse an.

{error:feldname='Normaltext'||='Fehlertext':enderror}

Diesen Platzhalter k�nnen Sie verwenden, wenn Sie bei einem Fehler einen bestehenden Text einfach nur ver�ndern oder austauschen m�chten. Wenn Sie zum Beispiel das Feld "betreff� als Pflichtfeld definiert haben, dann m�chten Sie es sicherlich beim Aufruf des Formulars ganz normal darstellen. Und wenn der Benutzer das Feld nicht ausf�llt, m�chten Sie die Schriftfarbe �ndern lassen. Der Platzhalter s�he dann wie folgt aus:

{error:betreff='Betreff'||='<span style="color:#FF0000;">Betreff</span>':enderror}

Ohne Fehler wird der erste Teil, also der Teil vor den beiden senkrechten Strichen (Pipes) angezeigt. Tritt ein Fehler auf, wird der zweite Teil, also der Teil nach den Pipes angezeigt.

Zum besseren Verst�ndnis k�nnen Sie sich das Beispiel im Verzeichnis "templates/examples_error_messages/" ansehen und daran �ben.

Danke-Seite

Nachdem das Formular abgeschickt wurde, wird auf eine vordefinierte Seite weitergeleitet. Diese Seite k�nnen Sie im folgenden Feld definieren:

<input type="hidden" name="thanks" value="" />

Beispiel:

<input type="hidden" name="thanks" value="http://www.ihr-server.de/danke.html" />

Achten Sie bitte darauf, dass Sie den kompletten URL inklusive http:// und Ihrer Domain (z.B.: http://www.ihre-domain.de/) angeben.

Wenn Sie dieses Feld nicht definieren oder es leer lassen, werden automatisch die vom Benutzer eingegebenen Daten angezeigt.

Festlegen des HTML-Templates

Sie k�nnen das Script direkt oder von einem bereits fertigen Formular in einer statischen HTML-Seite aus aufrufen. Im letzteren Fall m�ssen Sie das HTML-Template in folgendem Feld festlegen:

<input type="hidden" name="html_template" value="" />

Beispiel:

<input type="hidden" name="html_template" value="form.tpl.html" />

Festlegen des Mail-Templates

Die Mail-Templates definieren Sie auf die gleiche Weise:

<input type="hidden" name="mail_template" value="" />

Dazu k�nnen Sie ein einziges Mail-Template,

<input type="hidden" name="mail_template" value="mail.tpl.txt" />

oder mehrere Mail-Templates definieren. Durch die mehrfachen Mail-Templates k�nnen Sie mehrere E-Mails mit verschieden formatierten Inhalten versenden.

<input type="hidden" name="mail_template" value="mail.tpl.txt, mail2.tpl.txt" />

Auswahl-Men�s (Select-Men�s)

Das Script kann Auswahl-Felder verarbeiten, die wie folgt aufgebaut sind:

 <select name="" size="">
   <option value=""></option>
   <option value=""></option>
 </select>
 

Es k�nnen auch Multiple Select-Felder verarbeitet werden.

Wie Sie sicher stellen, wie der vom Benutzer ausgew�hlte Wert bei einem erneuten Aufruf im Formular ausgew�hlt bleibt, zeigt das folgende Beispiel:

 <select name="Anrede" size="2">
   <option value="Herr" {select:Anrede=Herr}></option>
   <option value="Frau" {select:Anrede=Frau}></option>
 </select>
 

Der Platzhalter {select:Anrede=Herr} hat folgende Eigenschaften. An erster Stelle steht die Art des Formularfeldes. In diesem Fall ist es ein Select-Men� (= select). Danach folgt ein Doppelpunkt (:). An zweiter Stelle muss der Name des Formularfeldes erscheinen. Das ist im obigen Beispiel "Anrede". Danach folgt ein Gleichheitszeichen (=). An letzter Stelle muss der Wert des Options-Feldes stehen (also der Wert aus "value=").

Um den ausgew�hlten Wert im Mail-Template erscheinen zu lassen, tragen Sie bitte im Mail-Template den Namen des Feldes, eingeschlossen durch geschweifte Klammern - {select:} - ein. Beispiel:

{select:Anrede}

F�r den Fall, dass der Benutzer keine Option des Men�s ausgew�hlt hat, wird der Platzhalter im Mail-Template automatisch entfernt.

Muliple Select-Felder

F�r Multiple Select-Felder gilt das eben Gesagte mit nur einem Unterschied: das name Attribut muss als "mein_name[]" (statt "mein_name") geschrieben werden (und nat�rlich muss das Attribut multiple="multiple" hinzugef�gt werden). Alles Andere bleibt unver�ndert: in allen Platzhaltern wird nur "mein_name" geschrieben! Beispiel:

 <select name="laender[]" multiple="multiple" size="4">
   <option value="UK" {select:laender=UK}>Gro&szlig;britannien</option>
   <option value="DE" {select:laender=DE}>Deutschland</option>
   <option value="FR" {select:laender=FR}>Frankreich</option>
   <option value="ES" {select:laender=ES}>Spanien</option>
 </select>

Auch im Mail-Template schreibt man weiter nur {select:laender}, erh�lt aber, falls der Benutzer mehr als einen Eintrag ausgew�hlt hat, eine Komma separierte Liste der Eintr�ge. Siehe auch Checkbox Gruppen.

Checkboxen

Das Script kann Checkbox-Felder verarbeiten, die wie folgt aufgebaut sind:

<input type="checkbox" name=�" value="" />

Wie Sie sicher stellen, wie der vom Benutzer ausgew�hlte Wert bei einem erneuten Aufruf im Formular ausgew�hlt bleibt, zeigt das folgende Beispiel:

<input type="Checkbox" name="Newsletter" value="Yes" {checkbox:Newsletter=Yes} />

Der Platzhalter {checkbox:Newsletter=Yes} hat folgende Eigenschaften. An erster Stelle steht die Art des Formularfeldes. In diesem Fall ist es eine Checkbox (= checkbox). Danach folgt ein Doppelpunkt (:). An zweiter Stelle muss der Name des Formularfeldes erscheinen. Das ist im obigen Beispiel "Newsletter". Danach folgt ein Gleichheitszeichen (=). An letzter Stelle muss der Wert des Feldes stehen (also der Wert aus "value=").

Um den ausgew�hlten Wert im Mail-Template erscheinen zu lassen, tragen Sie bitte im Mail-Template den Namen des Feldes, eingeschlossen durch geschweifte Klammern - {checkbox:} - ein. Beispiel:

{checkbox:Newsletter}

F�r den Fall, dass der Benutzer die Checkbox nicht ausgew�hlt hat, wird der Platzhalter im Mail-Template automatisch entfernt.

Checkbox Gruppen

Manchmal ben�tigt man zusammengeh�rige Gruppen von Checkboxen. Z.B. k�nnte ein Pizza-Lieferant eine Gruppierung der Bel�ge w�nschen. Das Script unterst�tzt dies. Dazu m�ssen die Checkboxen einer Gruppe den selben Namen haben und das Attribut name mit dem Anh�ngsel [] versehen werden. Beispiel (�bereinstimmende Namen sind blau markiert, �bereinstimmende Werte sind gr�n markiert):

 W�hlen Sie bitte Ihre Bel�ge:
 <hr />
 Grundlage (bitte mindestens eine
     ausw�hlen{required:Grundlage=, wirklich, sonst keine Lieferung!!!}):<br />
   <input name="Grundlage[]" type="checkbox" value="Kaese"
     {checkbox:Grundlage=Kaese} /> K�se <br />
   <input name="Grundlage[]" type="checkbox" value="Tomate"
     {checkbox:Grundlage=Tomate} /> Tomaten
 <hr />
 Gem�se:<br />
   <input name="Gemuese[]" type="checkbox" value="broccoli"
     {checkbox:Gemuese=broccoli} /> Broccoli (ged�nstet) <br />
   <input name="Gemuese[]" type="checkbox" value="Spinat"
     {checkbox:Gemuese=Spinat} /> Spinat (gekocht) <br />
   <input name="Gemuese[]" type="checkbox" value="Zwiebel"
     {checkbox:Gemuese=Zwiebel} /> Zwiebeln (gebraten) <br />
   ...
 <hr />
 Fisch:<br />
   <input name="Fisch[]" type="checkbox" value="Sardellen"
     {checkbox:Fisch=Sardellen} /> Sardellen <br />
   <input name="Fisch[]" type="checkbox" value="Thunfisch"
     {checkbox:Fisch=Thunfisch} /> Thunfisch <br />
   <input name="Fisch[]" type="checkbox" value="Lachs"
     {checkbox:Fisch=Lachs} /> Lachs <br />
   ...
 

Hier sind also 8 Checkboxen definiert, aber nur 3 Namen bzw. Gruppen. Beachten Sie, dass das Anh�ngsel [] nur im name Attribut geschrieben wird, nicht in den Platzhaltern! Im Mail-Template erh�lt man f�r die 3 Namen jeweils eine Komma separierte Liste von Werten, wenn mehr als eine Checkbox der Gruppe ausgew�hlt war. Ist in einer Gruppe nur eine Checkbox gew�hlt, wird nur deren Wert geliefert, ist gar keine Checkbox der Gruppe gew�hlt wird auch hier der Platzhalter aus dem Mail-Template entfernt. Siehe auch Multiple Select-Felder.

Radio-Buttons

Das Script kann Radio-Button-Felder verarbeiten, die wie folgt aufgebaut sind:

<input type="radio" name=�" value="" />

Wie Sie sicher stellen, wie der vom Benutzer ausgew�hlte Wert bei einem erneuten Aufruf im Formular ausgew�hlt bleibt, zeigt das folgende Beispiel:

<input type="radio" name="Anrede" value="Herr" {radiobutton:Anrede=Herr} />

Der Platzhalter {radiobutton:Anrede=Herr} hat folgende Eigenschaften. An erster Stelle steht die Art des Formularfeldes. In diesem Fall ist es ein Radio-Button(= radiobutton). Danach folgt ein Doppelpunkt (:). An zweiter Stelle muss der Name des Formularfeldes erscheinen. Das ist im obigen Beispiel "Anrede". Danach folgt ein Gleichheitszeichen (=). An letzter Stelle muss der Wert des Feldes stehen (also der Wert aus "value=").

Um den ausgew�hlten Wert im Mail-Template erscheinen zu lassen, tragen Sie bitte im Mail-Template den Namen des Feldes, eingeschlossen durch geschweifte Klammern - {radiobutton:} - ein. Beispiel:

{radiobutton:Anrede}

F�r den Fall, dass der Benutzer keinen der Radio-Buttons ausgew�hlt hat, wird der Platzhalter im Mail-Template automatisch entfernt.

Beispiele zu den eben beschriebenen Funktionen finden Sie im Template "advanced_form.tpl.html".

Nach oben

Anpassung des E-Mail Templates - templates/mail.tpl.txt

Im oberen Bereich des E-Mail-Templates befinden sich die Daten f�r den Kopfbereich der E-Mail. Dazu geh�ren:

Sie k�nnen den Empf�nger der E-Mail im Template festlegen:

To: name@ihr-server.de

Zus�tzlich k�nnen Sie weitere Empf�nger per Kopie und Blind-Kopie hinzuf�gen:

 CC: name@anderer-server.de
 CC: chef@firma.de
 BCC: secret@firma.de

Als Absender k�nnen Sie eine feste Adresse eingeben oder die Daten aus dem Formular verwenden:

From: {email}

Sie k�nnen auch den Namen des Absenders einf�gen. Dabei steht der Name vor der E-Mail-Adresse, die sich in spitzen Klammern befindet.

From: {firstname} {lastname} <{email}>

Nach dem Kopfbereich folgt eine Leerzeile. Danach folgt der Inhalt der E-Mail. Sie k�nnen hier den Text nach Belieben �ndern. Wenn Sie eigene Formularfelder hinzuf�gen, m�ssen die Namen der Felder im E-Mail-Template in geschweiften Klammern stehen - {formularfeldname}. Andernfalls werden die Inhalte aus dem Formular nicht in die E-Mail geschrieben.

Gesamte Formulardaten geb�ndelt anzeigen

Sie haben die M�glichkeit, alle Formulardaten geb�ndelt mit einem Platzhalter in der E-Mail anzuzeigen. Tragen Sie dazu den Platzhalter

{all_content}

in das E-Mail-Template ein.

F�r die HTML-E-Mail k�nnen Sie folgenden Platzhalter verwenden. Dadurch werden die Werte automatisch in einer Tabelle angezeigt.

{all_content_table}

Umgebungsvariablen, Server-Datum und -Uhrzeit

Die folgenden Umgebungsvariablen stellt das Script zur Verf�gung. Um die Variablen in der E-Mail sichtbar zu machen, k�nnen folgende Platzhalter benutzt werden.

{env_user_agent}     Browser-Software des Anwenders (Mozilla, Netscape, Opera, Internet Explorer).

{env_remote_address}     IP-Adresse des Anwenders.

{env_remote_host}     Hostname des Anwenders.

{env_year}     Jahr

{env_month}     Monat

{env_day}     Tag

{env_hour}     Stunde

{env_minute}     Minuten

{env_second})     Sekunden

Nach oben

Die Log-Datei - log/logfile.txt

Das Verzeichnis 'log' und die Datei logfile.txt m�ssen das Dateiattribut 777 besitzen (chmod 777) - also schreibbar sein.

Nach oben

Support

Antworten auf Ihre Fragen und L�sungen f�r Probleme mit dem Script finden Sie in unserem Support-Forum.

Nach oben

Informationen zur Script-Lizenz

Das Form-Mail-Script k�nnen Sie kostenlos nutzen. Wenn Sie das Script ohne den Werbe-Link betreiben m�chten, k�nnen Sie die Vollversion online erwerben.

http://www.stadtaus.com/

Nach dem Kauf erhalten Sie zus�tzlich zur Script-Lizenz kostenlose Updates und Upgrades.

Kontakt:

http://www.stadtaus.com/
http://www.stadtaus.com/forum/

Nach oben