X-Git-Url: https://git.p6c8.net/form-email.git/blobdiff_plain/9f689ef27a5125ec8e464e24505d3bc44727f8a1..HEAD:/readme.htm diff --git a/readme.htm b/readme.htm index 1411d63..7604cae 100644 --- a/readme.htm +++ b/readme.htm @@ -22,14 +22,12 @@ a:link, a:visited, a:active, a:focus font-weight: normal; text-decoration: none; color: #0000FF; - cursor: hand; } a:link:hover, a:visited:hover, a:active:hover, a:focus:hover { font-weight: normal; text-decoration: underline; color: #0000FF; - cursor: hand; } body { @@ -65,6 +63,14 @@ p padding-left: 0.5cm; padding-right: 0.5cm; } +pre +{ + padding-left: 0.7cm; + padding-right: 0.7cm; + font-family: 'Courier New', Courier, monospace; + font-size: 10pt; + color: #0000B0; +} table { font-size: 10pt; @@ -130,6 +136,8 @@ Auf diese Weise müssen Sie zum Beispiel nicht überall auf Ihrer Homepa
Sie können außerdem noch ein Feld namens subject anlegen. Hier kann ein Betreff für die Mail eingegeben werden. Wenn Sie auf dieses Feld verzichten, erhalten die E-Mails automatisch den in $default_subject
definierten Betreff (s.u.).
Weiterhin ist noch ein Feld namens recipient möglich. Dieses Feld enthält einen Alias-Empfänger. Wie das funktioniert, können Sie bei der Beschreibung der Einstellung $aliases
lesen.
Zusätzlich können Sie die vorgegebenen Formularfelder mit individuellen ergänzen.
+Wenn Sie Captchas (zufällige Zeichenfolgen, die der Benutzer vor dem Absenden des Formulars eingeben muss, um Spambots auszuschließen) benutzen wollen (siehe unten), müssen Sie im Formular die Datei captcha.php als Bild einbinden (<img>
-Tag). Bedenken Sie, dass Sie diese Datei auch in den Templates einbinden müssen!
Das Formular muss dann noch mit POST die Daten an die Datei mailer.php (oder wie Sie die Datei genannt haben) senden.
@@ -142,7 +150,7 @@ Weiterhin ist noch ein Feld namens recipient möglich. Dieses Feld enGeben Sie zwischen den einfachen Anführungszeichen die Adresse an, an die die Mail gehen soll. Wenn die Mail an mehrere Empfänger gehen soll, so trennen Sie die einzelnen E-Mail-Adressen ganz einfach durch Semikolons.
-Das war es im Grunde genommen. Aber Form E-Mail lässt sich noch weiter konfigurieren. Mehr dazu finden Sie in den nächsten beiden Abschnitten.
+Sie haben nun Form E-Mail für die Standard-Nutzung konfiguriert. Form E-Mail lässt sich jedoch noch feiner konfigurieren. Mehr dazu finden Sie in den nächsten Abschnitten.
@@ -163,8 +171,9 @@ Weiterhin ist noch ein Feld namens recipient möglich. Dieses Feld en$aliases
$mailto
.array('info' => 'info@IhreDomain.xyz', 'support' => 'support@IhreDomain.xyz',
- 'alle' => 'info@IhreDomain.xyz; support@IhreDomain.xyz')
array('info' => 'info@example.com', 'support' => 'support@example.com',
+ 'alle' => 'info@example.com; support@example.com')
<select>
-Box verwenden, über das der Benutzer den Empfänger auswählen kann).
@@ -204,10 +213,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
$allowed_envs
array('HTTP_USER_AGENT','REMOTE_ADDR')
array('HTTP_USER_AGENT','REMOTE_ADDR')
$referer_ok
Mails speichern
+ +Einstellung | +Beschreibung | +
$store_mails |
+Wenn > 0, speichert Form E-Mail die Mails nach dem Versenden noch auf dem Server als Datei ab. | +
$store_mails_dir |
+Geben 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_prefix |
+Geben Sie hier einen Präfix an, der den Dateinamen der gespeicherten Mails vorangestellt werden soll (Standard ist feml_). | +
$store_mails_max |
+Geben 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
Der vom Benutzer eingegebene Text ist nicht lang genug | |
$err_name_long |
+Der vom Benutzer eingegebene Name ist nicht zu lang | +
$err_subject_long |
+Der vom Benutzer eingegebene Betreff ist zu lang | +
$err_text_long |
+Der vom Benutzer eingegebene Text ist zu lang | +
$err_send_error |
Die Mail konnte nicht versendet werden |
$err_store_error |
+Die Mail konnte nicht gespeichert werden | +
$err_only_post |
Form E-Mail darf nur mit POST aufgerufen werden | Der im HTTP-Referer angegebene Host darf keine Mails über das Script senden |
$err_indiv_errmsg_miss |
+Eine 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 |
Einstellung | +Beschreibung | +
$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. Das erste und einzige Argument der Funktion ist der Inhalt des Formularfeldes. Die Funktion muss true zurückgeben, wenn der Wert in Ordnung ist, ansonsten false . |
+
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).
+ +Einstellung | +Beschreibung | +
$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:
+ +Einstellung | +Beschreibung | +
$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). Das erste und einzige Argument der Funktion ist der Inhalt des Formularfeldes. Die Funktion muss den bearbeiteten Wert zurückgeben. | +
$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 ). |
+
Sie müssen die individuellen Formularfelder nun noch in Ihrem Mail-Formular und in den Templates ergänzen.
+ +Es folgt Beispiel-Konfiguration für ein Formularfeld namens beruf:
+ ++$user_fields['beruf']['min'] = 5; +$user_fields['beruf']['max'] = 10; +$user_fields['beruf']['required'] = 1; +$user_fields['beruf']['regex'] = '/^[A-Za-z]+$/'; +$user_fields['beruf']['check'] = 'check_beruf'; +$user_fields['beruf']['prepare'] = 'prepare_beruf'; +$user_fields['beruf']['tpl_var'] = 'BERUF'; + +$user_fields['beruf']['errors']['too_short'] = 'Der Beruf muss mind. 5 Zeichen lang sein!'; +$user_fields['beruf']['errors']['too_long'] = 'Der Beruf darf höchstens 10 Zeichen lang sein!'; +$user_fields['beruf']['errors']['not_set'] = 'Sie haben keinen Beruf eingegeben!'; +$user_fields['beruf']['errors']['match_fail'] = 'Der Beruf darf nur aus Buchstaben bestehen!'; +$user_fields['beruf']['errors']['check_fail'] = 'Der Beruf sollte keine äöü haben!'; + +# Beispiel-Check-Funktion + +function check_beruf($content) { + if(strpos($content,'ä') !== false) return false; + if(strpos($content,'ö') !== false) return false; + if(strpos($content,'ü') !== false) return false; + + return true; +} + +# Beispiel-Vorbereitungs-Funktion + +function prepare_beruf($content) { + return strtolower($content); +} ++ +
Das Formularfeld hat die folgenden Eigenschaften:
+ +min
und max
)required
)regex
)check_beruf()
wird verhindert, dass ä, ö und ü angegeben werden (das wird natürlich auch durch den regulären Ausdruck ausgeschlossen, es soll lediglich zur Verdeutlichung dienen)prepare_beruf()
werden alle Großbuchstaben in Kleinbuchstaben umgewandelt{BERUF}
durch den Inhalt des Formularfeldes ersetzt (tpl_var
)tpl_var
angegeben haben) verwenden.$allowed_envs
.
@@ -509,6 +690,8 @@ Der eingegebene Mail-Text
tpl_var
angegeben haben) verwenden.
tpl_var
angegeben haben) verwenden.{ELSE}
-Teil ist optional):{IF CAPTCHA}Captchas sind aktiviert{ELSE}Captchas sind nicht aktiviert{ENDIF}
@@ -543,7 +728,7 @@ Zusätzlich ist es möglich, einen Bereich, der nur angezeigt werden sol
© 2002-2011 Patrick Canterino
+© 2002-2012 Patrick Canterino