X-Git-Url: https://git.p6c8.net/form-email.git/blobdiff_plain/73c03a68f1f37a6a3652e2aa58b33d63756937f7..d1a891a9db046b7332ef3adf296868430528d3fb:/readme.htm diff --git a/readme.htm b/readme.htm index 1411d63..5d8a079 100644 --- a/readme.htm +++ b/readme.htm @@ -65,6 +65,14 @@ p padding-left: 0.5cm; padding-right: 0.5cm; } +pre +{ + padding-left: 0.5cm; + padding-right: 0.5cm; + font-family: 'Courier New', Courier, monospace; + font-size: 10pt; + color: #0000B0; +} table { font-size: 10pt; @@ -204,10 +212,6 @@ Beachten Sie bitte, dass bei neueren PHP-Versionen, trotz deutscher Spracheinste Achtung: Benutzen Sie hier nach Möglichkeit absolute URLs! Ich habe zwar etwas eingebaut, was hier relative URLs in absolute umwandelt, um dem HTTP-Standard gerecht zu werden, aber ich garantiere nicht, dass diese Umwandlung immer einwandfrei funktioniert. Seien Sie bei relativen URLs also sehr vorsichtig und verwenden Sie im Fehlerfall absolute. -$no_tld -Setzen Sie diese Option auf 1, wenn der Absender auch E-Mail-Adressen ohne Top-Level-Domain angeben darf. - - $allowed_envs Geben Sie hier die Server-Umgebungsvariablen, die im Mailtext angezeigt werden dürfen, als normales PHP-Array an (siehe auch die Erläuterungen zur Template-Datei mail.txt).
Beispiel: array('HTTP_USER_AGENT','REMOTE_ADDR') @@ -273,6 +277,31 @@ Beispiel: array('HTTP_USER_AGENT','REMOTE_ADDR') +

Mails speichern

+ + + + + + + + + + + + + + + + + + + + + + +
EinstellungBeschreibung
$store_mailsWenn > 0, speichert Form E-Mail die Mails nach dem Versenden noch auf dem Server als Datei ab.
$store_mails_dirGeben Sie hier das Verzeichnis an, in dem Form E-Mail die Mails speichern soll (Standard ist stored_mails). Die Dateinamen bestehen aus dem Präfix, dem Absender, dem Betreff, der Uhrzeit und einem eindeutigen Wert.
$store_mails_prefixGeben Sie hier einen Präfix an, der den Dateinamen der gespeicherten Mails vorangestellt werden soll (Standard ist feml_).
$store_mails_maxGeben Sie hier die Zahl der Mails an, die maximal aufbewahrt werden sollen. Wenn Sie hier 0 angeben, werden keine Mails gelöscht. Die Mail-Dateien werden anhand des mit $store_mails_prefix definierten Präfixes erkannt.
+

Captchas

@@ -386,6 +415,18 @@ Beispiel: array('HTTP_USER_AGENT','REMOTE_ADDR') + + + + + + + + + + + + @@ -398,6 +439,10 @@ Beispiel: array('HTTP_USER_AGENT','REMOTE_ADDR') + + + + @@ -447,6 +492,87 @@ Beispiel: array('HTTP_USER_AGENT','REMOTE_ADDR')

Seit Version 3.5 ist es möglich, in Form E-Mail zusätzlich zu den vorgegebenen Formularfeldern für Name, E-Mail-Adresse, Betreff und Text eigene Formularfelder zu definieren, die dann von Form E-Mail verarbeitet und in die Mail eingefügt werden.
Wie Form E-Mail diese Formularfelder behandelt, wird über verschiedene Optionen gesteuert, so ist es möglich die Länge des Inhalts zu prüfen, den Inhalt gegen einen regulären Ausdruck und gegen eine frei definierbare PHP-Funktion zu prüfen und am Ende den Inhalt noch durch eine PHP-Funktion aufzubereiten.

+

Die Konfiguration der individuellen Formularfelder geschieht über das PHP-Array $user_fields in config.php. Sie benötigen zunächst den Namen des Formularfeldes, also das, was Sie im HTML-Formular als Namen angeben. Nehmen wir an, Sie haben folgenden HTML-Code für ein Formularfeld:

+ +

<input type="text" name="beruf" />

+ +

Der Name des Feldes lautet also beruf. Dies benötigen wir für die weitere Definition.

+ +

Sie können nun verschiedene Prüfwerte definieren, mit denen Form E-Mail den Inhalt des Formularfeldes überprüft und ggf. eine Fehlermeldung ausgibt. Diese werden in der folgenden Tabelle erläutert (die Tabelle geht der Einfachheit halber weiterhin vom Formularfeld beruf aus - Sie müssen dies natürlich anpassen!):

+ +
Der vom Benutzer eingegebene Text ist nicht lang genug
$err_name_longDer vom Benutzer eingegebene Name ist nicht zu lang
$err_subject_longDer vom Benutzer eingegebene Betreff ist zu lang
$err_text_longDer vom Benutzer eingegebene Text ist zu lang
$err_send_error Die Mail konnte nicht versendet werden
Der im HTTP-Referer angegebene Host darf keine Mails über das Script senden
$err_indiv_errmsg_missEine Fehlermeldung für die individuellen Formularfelder wurde nicht definiert (die Variable {INDIVIDUAL} gibt das Formularfeld an, {ERRMSG} die fehlende Fehlermeldung).
$err_captcha_incorrect Der vom Benutzer eingegebene Captcha-Code ist nicht korrekt
+ + + + + + + + + + + + + + + + + + + + + + + + +
EinstellungBeschreibung
$user_fields['beruf']['min']Geben Sie hier an, wie lang der vom Benutzer eingebene Wert mindestens sein muss
$user_fields['beruf']['max']Geben Sie hier an, wie lang der vom Benutzer eingebene Wert höchstens sein darf
$user_fields['beruf']['required']Geben Sie hier den Wert 1 an, wenn das Formularfeld ausgefüllt sein muss. Wenn Sie hier eine 0 oder die Option weglassen, ist das Feld optional.
$user_fields['beruf']['regex']Geben Sie hier einen Perl-kompatiblen regulären Ausdruck zur Prüfung des Wertes ein. Der Ausdruck wird direkt an preg_match() weitergegeben.
$user_fields['beruf']['check']Geben Sie hier eine selbst definierte PHP-Funktion (als Zeichenkette) an, durch die der Wert geprüft werden soll.
+ +

Weiterhin müssen Sie noch diverse Fehlermeldungen definieren (als Unter-Array). Das Definieren dieser Fehlermeldungen ist Pflicht (Sie müssen jedoch nur die Fehlermeldungen zu den Dingen definieren, die auch wirklich geprüft werden).

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
EinstellungBeschreibung
$user_fields['beruf']['errors']['too_short']Der vom Benutzer eingegebene Wert ist nicht lang genug
$user_fields['beruf']['errors']['too_long']Der vom Benutzer eingegebene Wert ist zu lang
$user_fields['beruf']['errors']['not_set']Das Formularfeld ist ein Pflichtfeld und es wurde nicht ausgefüllt.
$user_fields['beruf']['errors']['match_fail']Die Überprüfung des Wertes durch den regulären Ausdruck ist fehlgeschlagen.
$user_fields['beruf']['errors']['check_fail']Die Überprüfung des Wertes durch die PHP-Funktion ist fehlgeschlagen.
+ +

Zusätzlich sind noch die folgenden Einstellungen möglich:

+ + + + + + + + + + + + + + +
EinstellungBeschreibung
$user_fields['beruf']['prepare']Geben Sie hier eine selbst definierte PHP-Funktion (als Zeichenkette) an, die den Wert des Formularfeldes nach den Prüfungen noch verändern (bspw. kann man hier Funktionen angeben, die alle Buchstaben in Großbuchstaben umwandelt).
$user_fields['beruf']['tpl_var']Geben Sie hier die Template-Variable an, die in den Templates durch den Wert des Formularfeldes ersetzt werden soll. Wenn Sie hier nichts angeben, wird ein Standardwert verwendet (im Fall des Formularfeldes beruf wäre das dann USER_beruf).
+

Nach oben

Templates anpassen

@@ -475,6 +601,7 @@ Die Fehlermeldung mail.txt Legt das Aussehen der Mail fest + -Zusätzlich können Sie hier durch Variablen, die mit ENV_ beginnen, Server-Umgebungsvariablen im Text einfügen (siehe auch Konfigurationsvariable $allowed_envs. +Zusätzlich können Sie hier durch Variablen, die mit ENV_ beginnen, Server-Umgebungsvariablen im Text einfügen (siehe auch Konfigurationsvariable $allowed_envs.
+
+!!!TODO: Individuelle Formularfelder!!! sent.htm Wird angezeigt, wenn die Mail erfolgreich versendet wurde + +!!!TODO: Individuelle Formularfelder!!! user_error.htm Wird angezeigt, wenn der Benutzer einen Fehler gemacht hat, der sich aber noch beheben lässt (zum Beispiel wenn ein Formularfeld nicht ausgefüllt wurde) +