1 <?xml version=
"1.0" encoding=
"iso-8859-1" ?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <html xmlns=
"http://www.w3.org/1999/xhtml">
7 <title>ReadMe f
ür Form E-Mail
3.5</title>
8 <meta name=
"author" content=
"Patrick Canterino" />
9 <style type=
"text/css">
14 background-color: #E8E8E8;
20 a:link, a:visited, a:active, a:focus
23 text-decoration: none;
27 a:link:hover, a:visited:hover, a:active:hover, a:focus:hover
30 text-decoration: underline;
36 font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;
39 background-color: #FFFFFF;
43 font-family: 'Courier New', Courier, monospace;
72 font-family: 'Courier New', Courier, monospace;
94 <base target=
"_self" />
96 <body bgcolor=
"#FFFFFF" text=
"#000000" link=
"#0000FF" vlink=
"#0000FF" alink=
"#0000FF">
98 <h1><a name=
"top" id=
"top">ReadMe f
ür Form E-Mail
3.5</a></h1>
101 <a href=
"#wasistfeml">Was ist
<i>Form E-Mail
</i>?
</a><br />
102 <a href=
"#einrichten">Einrichten von
<i>Form E-Mail
</i></a><br />
103 <a href=
"#einstellungen">Einstellungen
</a><br />
104 <a href=
"#individuell">Individuelle Formularfelder
</a><br />
105 <a href=
"#templates">Templates anpassen
</a>
108 <h2><a name=
"wasistfeml" id=
"wasistfeml">Was ist
<i>Form E-Mail
</i>?
</a></h2>
110 <p><i>Form E-Mail
</i> ist ein in PHP programmierter Form-Mailer, der speziell darauf ausgerichtet ist, ein Kontaktformular zu verarbeiten. Unter Kontaktformular verstehe ich ein Formular mit Feldern f
ür Name und E-Mail-Adresse des Absenders, eines f
ür den Betreff und ein weiteres f
ür den Text der Mail.
<br />
111 Auf diese Weise m
üssen Sie zum Beispiel nicht
überall auf Ihrer Homepage Ihre E-Mail-Adresse angeben und sie so nicht der Gefahr aussetzen, ein Opfer von Spammern zu werden.
</p>
113 <p class=
"upanddown"><a href=
"#top">Nach oben
</a></p>
115 <h2><a name=
"einrichten" id=
"einrichten">Einrichten von
<i>Form E-Mail
</i></a></h2>
117 <p>Sie brauchen als erstes ein HTML-Formular. Dieses muss mindestens diese Felder enthalten:
</p>
121 <td><b>Feldname
</b></td>
122 <td><b>Zweck
</b></td>
125 <td><i>email
</i></td>
126 <td>E-Mail-Adresse des Absenders
</td>
130 <td>Name des Absenders
</td>
134 <td>Text der E-Mail
</td>
138 <p>Sie k
önnen au
ßerdem noch ein Feld namens
<i>subject
</i> anlegen. Hier kann ein Betreff f
ür die Mail eingegeben werden. Wenn Sie auf dieses Feld verzichten, erhalten die E-Mails automatisch den in
<code>$default_subject
</code> definierten Betreff (s.u.).
<br />
139 Weiterhin ist noch ein Feld namens
<i>recipient
</i> m
öglich. Dieses Feld enth
ält einen Alias-Empf
änger. Wie das funktioniert, k
önnen Sie bei der Beschreibung der Einstellung
<code>$aliases
</code> lesen.
</p>
141 <p>Zus
ätzlich k
önnen Sie die vorgegebenen Formularfelder mit
<a href=
"#individuell">individuellen
</a> erg
änzen.
</p>
143 <p>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
<i>captcha.php
</i> als Bild einbinden (
<code><img
></code>-Tag). Bedenken Sie, dass Sie diese Datei auch in den
<a href=
"#templates">Templates
</a> einbinden m
üssen!
</p>
145 <p>Das Formular muss dann noch mit
<tt>POST
</tt> die Daten an die Datei
<i>mailer.php
</i> (oder wie Sie die Datei genannt haben) senden.
</p>
147 <p>Ein beispielhaftes Formular finden Sie in der Datei
<a href=
"formular.htm" target=
"_blank"><i>formular.htm
</i></a>.
</p>
149 <p>Die Adresse, an der die mit
<i>Form E-Mail
</i> erzeugte Mail gesendet werden soll, wird in der Datei
<i>config.php
</i> festgelegt.
Öffnen Sie die Datei mit einem beliebigen Editor und suchen Sie nach dieser Zeile:
</p>
151 <p><code>$mailto = '';
</code></p>
153 <p>Geben 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.
</p>
155 <p>Sie haben nun
<i>Form E-Mail
</i> f
ür die Standard-Nutzung konfiguriert.
<i>Form E-Mail
</i> l
ässt sich jedoch noch feiner konfigurieren. Mehr dazu finden Sie in den n
ächsten Abschnitten.
</p>
157 <p class=
"upanddown"><a href=
"#top">Nach oben
</a></p>
159 <h2><a name=
"einstellungen" id=
"einstellungen">Einstellungen
</a></h2>
161 <p><b>Empf
änger
</b></p>
165 <td><b>Einstellung
</b></td>
166 <td><b>Beschreibung
</b></td>
169 <td><code>$mailto
</code></td>
173 <td><code>$aliases
</code></td>
174 <td>Hier k
önnen Sie eine Alias-Namen f
ür Empf
änger angeben. Soll einem Alias mehrere Empf
änger zugeordnet werden, gilt dasselbe wie f
ür
<code>$mailto
</code>.
<br />
175 Die Aliase werden mit Hilfe eines assoziativen PHP-Arrays definiert. Da es wohl einige gibt, die von so etwas keine Ahnung haben und ich es nicht gut erkl
ären kann, hier ein Beispiel:
<br /><br />
176 <code>array('info' =
> 'info@example.com', 'support' =
> 'support@example.com',
<br />
177 'alle' =
> 'info@example.com; support@example.com')
</code></td>
181 <p><b>Allgemeines
</b></p>
185 <td><b>Einstellung
</b></td>
186 <td><b>Beschreibung
</b></td>
189 <td><code>$default_subject
</code></td>
190 <td>Der Standard-Betreff. Dieser wird verwendet, wenn der Benutzer keinen Betreff f
ür seine Mail angegeben hat.
</td>
193 <td><code>$friendly_sender
</code></td>
194 <td>Wenn
1, wird die E-Mail-Adresse des Autors der Mail als Absender angegeben. Bei
0 erscheint das, was der Server als Absender eintr
ägt und die E-Mail-Adresse des Absenders wird in den
<code>Reply-To
</code>-Header eingetragen, so dass beim Antworten auf die E-Mail schon der richtige Empf
änger eingetragen wird. Wenn
2, wird zus
ätzlich noch der Name als Absender angegeben.
<br />
195 Bitte setzen Sie diese Option nur auf
0, wenn es wirklich sein muss!
</td>
198 <td><code>$line_break
</code></td>
199 <td>Legt fest, ab wievielen Zeichen ein automatischer Zeilenumbruch durchgef
ührt werden soll (
0 f
ür keine Zeilenumbr
üche).
</td>
202 <td><code>$add_header
</code></td>
203 <td>Legt beim Wert
1 fest, ob
<i>Form E-Mail
</i> Informationen zur Zeichencodierung, MIME-Version usw. in den Mail-Header schreiben soll.
<br />
204 Bitte setzen Sie diese Option nur auf
0, wenn es wirklich sein muss!
</td>
207 <td><code>$timeformat
</code></td>
208 <td>Legt das Aussehen der Zeitangaben der Mail fest. Was hier alles m
öglich ist, finden Sie im PHP-Handbuch bei der
<a href=
"http://www.php.net/manual/de/function.strftime.php">Beschreibung zu
<code>strftime()
</code></a>.
<br />
209 Beachten Sie bitte, dass bei neueren PHP-Versionen, trotz deutscher Spracheinstellungen, die Namen von Wochentagen und Monaten englisch dargestellt werden. Es handelt sich hierbei aber um ein allgemeines Problem.
</td>
212 <td><code>$return_url
</code></td>
213 <td>Geben Sie hier die URL einer Seite an, auf die nach dem erfolgreichen Versenden einer Mail weitergeleitet werden soll. Wenn Sie hier nichts angeben, wird eine per Template formatierte Seite angezeigt.
<br />
214 <b style=
"color:#FF0000">Achtung:
</b> 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.
</td>
217 <td><code>$allowed_envs
</code></td>
218 <td>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
<i>mail.txt
</i>).
<br />
219 Beispiel:
<code>array('HTTP_USER_AGENT','REMOTE_ADDR')
</code></td>
222 <td><code>$charset
</code></td>
223 <td>Geben Sie hier den Zeichensatz, der f
ür die E-Mail verwendet werden soll, an.
</td>
226 <td><code>$timezone
</code></td>
227 <td>Geben Sie hier Ihre Zeitzone an (dies ist bei neueren PHP-Versionen n
ötig, da ansonsten eine Fehlermeldung auftreten kann).
</td>
231 <p><b>L
ängen
überpr
üfungen
</b></p>
235 <td><b>Einstellung
</b></td>
236 <td><b>Beschreibung
</b></td>
239 <td><code>$name_min
</code></td>
240 <td>Geben Sie hier an, wie lang der vom Benutzer eingebene Name mindestens sein muss (
0 =
beliebig lang)
</td>
243 <td><code>$subject_min
</code></td>
244 <td>Geben Sie hier an, wie lang der vom Benutzer eingebene Betreff mindestens sein muss (
0 =
beliebig lang)
</td>
247 <td><code>$text_min
</code></td>
248 <td>Geben Sie hier an, wie lang der vom Benutzer eingebene Text mindestens sein muss (
0 =
beliebig lang)
</td>
251 <td><code>$name_max
</code></td>
252 <td>Geben Sie hier an, wie lang der vom Benutzer eingebene Name h
öchstens sein darf (
0 =
beliebig lang)
</td>
255 <td><code>$subject_max
</code></td>
256 <td>Geben Sie hier an, wie lang der vom Benutzer eingebene Betreff h
öchstens sein darf (
0 =
beliebig lang)
</td>
259 <td><code>$text_max
</code></td>
260 <td>Geben Sie hier an, wie lang der vom Benutzer eingebene Text h
öchstens sein darf (
0 =
beliebig lang)
</td>
264 <p><b>Sicherheit
</b></p>
268 <td><b>Einstellung
</b></td>
269 <td><b>Beschreibung
</b></td>
272 <td><code>$check_referer
</code></td>
273 <td>Wenn
> 0,
überpr
üft
<i>Form E-Mail
</i> die Host-Angabe im HTTP-Referer. Das ist n
ützlich, wenn Sie verhindern wollen, dass irgendjemand Ihr Script f
ür sich ausnutzt.
</td>
276 <td><code>$referer_ok
</code></td>
277 <td>Geben Sie hier die Hosts an, von denen
<i>Form E-Mail
</i> aus aufgerufen werden darf (zum Beispiel
<i>www.example.com
</i>). Trennen Sie mehrere Hosts durch Semikolons.
<br />
278 <b style=
"color:#FF0000">Achtung:
</b> Mit einer Referer-Pr
üfung kann man zwar unbedarfte Anwender abschrecken, aber wirklich zuverl
ässig ist diese Methode nicht, da sich der Referer f
älschen l
ässt oder auch komplett fehlen kann.
</td>
282 <p><b>Mails speichern
</b></p>
286 <td><b>Einstellung
</b></td>
287 <td><b>Beschreibung
</b></td>
290 <td><code>$store_mails
</code></td>
291 <td>Wenn
> 0, speichert
<i>Form E-Mail
</i> die Mails nach dem Versenden noch auf dem Server als Datei ab.
</td>
294 <td><code>$store_mails_dir
</code></td>
295 <td>Geben Sie hier das Verzeichnis an, in dem
<i>Form E-Mail
</i> die Mails speichern soll (Standard ist
<i>stored_mails
</i>). Die Dateinamen bestehen aus dem Pr
äfix, dem Absender, dem Betreff, der Uhrzeit und einem eindeutigen Wert.
</td>
298 <td><code>$store_mails_prefix
</code></td>
299 <td>Geben Sie hier einen Pr
äfix an, der den Dateinamen der gespeicherten Mails vorangestellt werden soll (Standard ist
<i>feml_
</i>).
</td>
302 <td><code>$store_mails_max
</code></td>
303 <td>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
<code>$store_mails_prefix
</code> definierten Pr
äfixes erkannt.
</td>
307 <p><b>Captchas
</b></p>
311 <td><b>Einstellung
</b></td>
312 <td><b>Beschreibung
</b></td>
315 <td><code>$captcha_enable
</code></td>
316 <td>Wenn
> 0, wird die Captcha-
Überpr
üfung aktiviert.
</td>
319 <td><code>$captcha_case
</code></td>
320 <td>Wenn
1, wird bei Captchas auf Gro
ß- und Kleinschreibung geachtet. Beachten Sie bitte, dass bei deaktiverter Einstellung im Captcha selbst immer noch Gro
ß- und Kleinbuchstaben angezeigt werden - lediglich bei der Auswertung wird die Gro
ß- und Kleinschreibung nicht ber
ücksichtigt.
</td>
323 <td><code>$captcha_max
</code></td>
324 <td>Wenn
> 0, ist nur eine bestimmte Anzahl von Fehlversuchen bei der Eingabe des Captcha-Texts m
öglich.
</td>
327 <td><code>$captcha_length
</code></td>
328 <td>Geben Sie hier die L
änge des Captcha-Textes an.
</td>
331 <td><code>$captcha_width
</code></td>
332 <td>Geben Sie hier die Breite des Captcha-Bilds an (in Pixeln). Dieser Wert wird
überschrieben, wenn
<code>$captcha_image_bg
</code> gesetzt ist.
</td>
335 <td><code>$captcha_height
</code></td>
336 <td>Geben Sie hier die H
öhe des Captcha-Bilds an (in Pixeln). Dieser Wert wird
überschrieben, wenn
<code>$captcha_image_bg
</code> gesetzt ist.
</td>
339 <td><code>$captcha_angle
</code></td>
340 <td>Geben Sie hier den Winkel-Bereich an, in dem der Captcha-Text ausgerichtet werden soll. Es wird ein zuf
älliger Wert aus diesem Bereich ausgew
ählt.
</td>
343 <td><code>$captcha_x
</code></td>
344 <td>Geben Sie hier den Bereich an, in dem sich der horizontale Startpunkt des Captcha-Texts befinden soll. Es wird ein zuf
älliger Wert aus diesem Bereich ausgew
ählt.
</td>
347 <td><code>$captcha_y
</code></td>
348 <td>Geben Sie hier den Bereich an, in dem sich der vertikale Startpunkt des Captcha-Texts befinden soll. Es wird ein zuf
älliger Wert aus diesem Bereich ausgew
ählt.
</td>
351 <td><code>$captcha_possible
</code></td>
352 <td>Geben Sie hier die m
öglichen Zeichen des Captcha-Texts an. Standardm
äßig vorgegeben ist
<i>'ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'
</i>.
</td>
355 <td><code>$captcha_font
</code></td>
356 <td>Schriftart f
ür den Captcha-Text. Geben Sie hier den Pfad zu einer
<i>.ttf
</i>-Datei an. Standardm
äßig ist hier die mitgelieferte
<i>XFILES.TTF
</i> angegeben.
</td>
359 <td><code>$captcha_font_size
</code></td>
360 <td>Geben Sie hier die Schriftgr
öße des Captcha-Textes an.
</td>
363 <td><code>$captcha_lines
</code></td>
364 <td>Wenn
> 0, werden zuf
ällige St
örlinien in das Captcha-Bild eingef
ügt.
</td>
367 <td><code>$captcha_color_bg
</code></td>
368 <td>Geben Sie hier die RGB-Werte (in Form eines PHP-Arrays) der Hintergrundfarbe des Captcha-Bilds an.
</td>
371 <td><code>$captcha_color_text
</code></td>
372 <td>Geben Sie hier die RGB-Werte (in Form eines PHP-Arrays) der Textfarbe des Captcha-Bilds an.
</td>
375 <td><code>$captcha_image_bg
</code></td>
376 <td>Hier k
önnen Sie, wenn Sie m
öchten, ein Hintergrundbild f
ür das Captcha-Bild angeben. Diese Option
überschreibt
<code>$captcha_length
</code> und
<code>$captcha_height
</code> mit den Angaben aus dem Bild.
</td>
380 <p><b>Fehlermeldungen
</b></p>
384 <td><b>Einstellung
</b></td>
385 <td><b>Beschreibung
</b></td>
388 <td><code>$err_nothing
</code></td>
389 <td>Der Benutzer hat
überhaupt nichts eingegeben
</td>
392 <td><code>$err_no_name
</code></td>
393 <td>Der Benutzer hat keinen Namen angegeben
</td>
396 <td><code>$err_no_email
</code></td>
397 <td>Der Benutzer hat keine E-Mail-Adresse angegeben
</td>
400 <td><code>$err_invalid_email
</code></td>
401 <td>Der Benutzer hat eine von der Syntax her ung
ültige E-Mail-Adresse angegeben
</td>
404 <td><code>$err_no_text
</code></td>
405 <td>Der Benutzer hat keinen Text angegeben
</td>
408 <td><code>$err_name_short
</code></td>
409 <td>Der vom Benutzer eingegebene Name ist nicht lang genug
</td>
412 <td><code>$err_subject_short
</code></td>
413 <td>Der vom Benutzer eingegebene Betreff ist nicht lang genug
</td>
416 <td><code>$err_text_short
</code></td>
417 <td>Der vom Benutzer eingegebene Text ist nicht lang genug
</td>
420 <td><code>$err_name_long
</code></td>
421 <td>Der vom Benutzer eingegebene Name ist nicht zu lang
</td>
424 <td><code>$err_subject_long
</code></td>
425 <td>Der vom Benutzer eingegebene Betreff ist zu lang
</td>
428 <td><code>$err_text_long
</code></td>
429 <td>Der vom Benutzer eingegebene Text ist zu lang
</td>
432 <td><code>$err_send_error
</code></td>
433 <td>Die Mail konnte nicht versendet werden
</td>
436 <td><code>$err_store_error
</code></td>
437 <td>Die Mail konnte nicht gespeichert werden
</td>
440 <td><code>$err_only_post
</code></td>
441 <td><i>Form E-Mail
</i> darf nur mit
<tt>POST
</tt> aufgerufen werden
</td>
444 <td><code>$err_referer_not_ok
</code></td>
445 <td>Der im HTTP-Referer angegebene Host darf keine Mails
über das Script senden
</td>
448 <td><code>$err_indiv_errmsg_miss
</code></td>
449 <td>Eine Fehlermeldung f
ür die individuellen Formularfelder wurde nicht definiert (die Variable
<code>{INDIVIDUAL}
</code> gibt das Formularfeld an,
<code>{ERRMSG}
</code> die fehlende Fehlermeldung).
</td>
452 <td><code>$err_captcha_incorrect
</code></td>
453 <td>Der vom Benutzer eingegebene Captcha-Code ist nicht korrekt
</td>
456 <td><code>$err_captcha_max
</code></td>
457 <td>Der Benutzer hat den Captcha-Code zu oft falsch eingegeben
</td>
460 <td><code>$err_captcha_disabled
</code></td>
461 <td>Wird angezeigt, wenn
<i>captcha.php
</i> aufgerufen wird und Captchas eigentlich deaktiviert sind.
</td>
464 <td><code>$err_captcha_session_failure
</code></td>
465 <td>Wird angezeigt, wenn keine Session-Variablen gefunden werden konnten.
</td>
469 <p><b>Pfade zu Templates
</b></p>
473 <td><b>Einstellung
</b></td>
474 <td><b>Beschreibung
</b></td>
477 <td><code>$tpl_mail
</code></td>
478 <td>Template f
ür die Mail
</td>
481 <td><code>$tpl_sent
</code></td>
482 <td>Die Mail wurde erfolgreich versendet
</td>
485 <td><code>$tpl_user_error
</code></td>
486 <td>Der Benutzer hat etwas falsch gemacht
</td>
489 <td><code>$tpl_fatal
</code></td>
490 <td>Es ist ein Fehler aufgetreten, den der Benutzer nicht mehr beheben kann
</td>
494 <p class=
"upanddown"><a href=
"#top">Nach oben
</a></p>
496 <h2><a name=
"individuell" id=
"individuell">Individuelle Formularfelder
</a></h2>
498 <p>Seit Version
3.5 ist es m
öglich, in
<i>Form E-Mail
</i> zus
ätzlich zu den vorgegebenen Formularfeldern f
ür Name, E-Mail-Adresse, Betreff und Text eigene Formularfelder zu definieren, die dann von
<i>Form E-Mail
</i> verarbeitet und in die Mail eingef
ügt werden.
<br />
499 Wie
<i>Form E-Mail
</i> 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.
</p>
501 <p>Die Konfiguration der individuellen Formularfelder geschieht
über das PHP-Array
<code>$user_fields
</code> in
<i>config.php
</i>. 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:
</p>
503 <p><code><input type=
"text
" name=
"beruf
" /
></code></p>
505 <p>Der Name des Feldes lautet also
<b>beruf
</b>. Dies ben
ötigen wir f
ür die weitere Definition.
</p>
507 <p>Sie k
önnen nun verschiedene Pr
üfwerte definieren, mit denen
<i>Form E-Mail
</i> 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
<b>beruf
</b> aus - Sie m
üssen dies nat
ürlich anpassen!):
</p>
511 <td><b>Einstellung
</b></td>
512 <td><b>Beschreibung
</b></td>
515 <td><code>$user_fields['beruf']['min']
</code></td>
516 <td>Geben Sie hier an, wie lang der vom Benutzer eingebene Wert mindestens sein muss
</td>
519 <td><code>$user_fields['beruf']['max']
</code></td>
520 <td>Geben Sie hier an, wie lang der vom Benutzer eingebene Wert h
öchstens sein darf
</td>
523 <td><code>$user_fields['beruf']['required']
</code></td>
524 <td>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.
</td>
527 <td><code>$user_fields['beruf']['regex']
</code></td>
528 <td>Geben Sie hier einen
<a href=
"http://de.php.net/manual/de/book.pcre.php">Perl-kompatiblen regul
ären Ausdruck
</a> zur Pr
üfung des Wertes ein. Der Ausdruck wird direkt an
<a href=
"http://de.php.net/manual/de/function.preg-match.php"><code>preg_match()
</code></a> weitergegeben.
</td>
531 <td><code>$user_fields['beruf']['check']
</code></td>
532 <td>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
<code>true
</code> zur
ückgeben, wenn der Wert in Ordnung ist, ansonsten
<code>false
</code>.
</td>
536 <p>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).
</p>
540 <td><b>Einstellung
</b></td>
541 <td><b>Beschreibung
</b></td>
544 <td><code>$user_fields['beruf']['errors']['too_short']
</code></td>
545 <td>Der vom Benutzer eingegebene Wert ist nicht lang genug
</td>
548 <td><code>$user_fields['beruf']['errors']['too_long']
</code></td>
549 <td>Der vom Benutzer eingegebene Wert ist zu lang
</td>
552 <td><code>$user_fields['beruf']['errors']['not_set']
</code></td>
553 <td>Das Formularfeld ist ein Pflichtfeld und es wurde nicht ausgef
üllt.
</td>
556 <td><code>$user_fields['beruf']['errors']['match_fail']
</code></td>
557 <td>Die
Überpr
üfung des Wertes durch den regul
ären Ausdruck ist fehlgeschlagen.
</td>
560 <td><code>$user_fields['beruf']['errors']['check_fail']
</code></td>
561 <td>Die
Überpr
üfung des Wertes durch die PHP-Funktion ist fehlgeschlagen.
</td>
565 <p>Zus
ätzlich sind noch die folgenden Einstellungen m
öglich:
</p>
569 <td><b>Einstellung
</b></td>
570 <td><b>Beschreibung
</b></td>
573 <td><code>$user_fields['beruf']['prepare']
</code></td>
574 <td>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.
</td>
577 <td><code>$user_fields['beruf']['tpl_var']
</code></td>
578 <td>Geben Sie hier die
<a href=
"#templates">Template-Variable
</a> 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
<b>beruf
</b> w
äre das dann
<code>USER_beruf
</code>).
</td>
582 <p>Sie m
üssen die individuellen Formularfelder nun noch in Ihrem Mail-Formular und in den
<a href=
"#templates">Templates
</a> erg
änzen.
</p>
584 <p class=
"upanddown"><a href=
"#top">Nach oben
</a></p>
586 <h2><a name=
"templates" id=
"templates">Templates anpassen
</a></h2>
588 <p>Die Anpassung der Ausgaben von
<i>Form E-Mail
</i> erfolgt
über Templates (englisch f
ür
"Vorlagen
"). Jede der Templates enth
ält Variablen der Form
<b>{VARIABLENNAME}
</b>, die dann von
<i>Form E-Mail
</i> durch entsprechende Daten ersetzt werden.
</p>
590 <p>Hier nun eine Auflistung der einzelnen Templates und der verwendeten Variablen (ohne geschweifte Klammern):
</p>
594 <td width=
"20%"><b>Datei
</b></td>
595 <td width=
"40%"><b>Zweck
</b></td>
596 <td width=
"40%"><b>Verwendete Variablen
</b></td>
599 <td><i>fatal.htm
</i></td>
600 <td>Wird angezeigt, wenn ein Fehler aufgetreten ist, den der Benutzer nicht mehr beheben kann
</td>
603 <li><b>ERROR
</b><br />
604 Die Fehlermeldung
</li>
609 <td><i>mail.txt
</i></td>
610 <td>Legt das Aussehen der Mail fest
</td>
613 <li><b>EMAIL
</b><br />
614 Die eingegebene E-Mail-Adresse
</li>
615 <li><b>NAME
</b><br />
616 Der eingegebene Name
</li>
617 <li><b>SUBJECT
</b><br />
618 Der Betreff der Mail
</li>
619 <li><b>TEXT
</b><br />
620 Der eingegebene Mail-Text
</li>
621 <li><b>TIME
</b><br />
622 Die formatierte Zeitangabe
</li>
625 Weiterhin k
önnen Sie hier die definierten Variablen der
<a href=
"#individuell">individuellen Formularfelder
</a> (das, was Sie in
<code>tpl_var
</code> angegeben haben) verwenden.
<br />
627 Zus
ätzlich k
önnen Sie hier durch Variablen, die mit
<b>ENV_
</b> beginnen, Server-Umgebungsvariablen im Text einf
ügen (siehe auch Konfigurationsvariable
<code>$allowed_envs
</code>.
631 <td><i>sent.htm
</i></td>
632 <td>Wird angezeigt, wenn die Mail erfolgreich versendet wurde
</td>
635 <li><b>EMAIL
</b><br />
636 Die eingegebene E-Mail-Adresse
</li>
637 <li><b>MAIL
</b><br />
638 Die komplette Mail, so wie sie versendet wurde (nat
ürlich ohne Header)
</li>
639 <li><b>NAME
</b><br />
640 Der eingegebene Name
</li>
641 <li><b>SUBJECT
</b><br />
642 Der Betreff der Mail
</li>
643 <li><b>TEXT
</b><br />
644 Der eingegebene Mail-Text
</li>
645 <li><b>TIME
</b><br />
646 Die formatierte Zeitangabe
</li>
649 Weiterhin k
önnen Sie hier die definierten Variablen der
<a href=
"#individuell">individuellen Formularfelder
</a> (das, was Sie in
<code>tpl_var
</code> angegeben haben) verwenden.
653 <td><i>user_error.htm
</i></td>
654 <td>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)
</td>
657 <li><b>EMAIL
</b><br />
658 Die eingegebene E-Mail-Adresse
</li>
659 <li><b>ERROR
</b><br />
660 Die Fehlermeldung
</li>
661 <li><b>NAME
</b><br />
662 Der eingegebene Name
</li>
663 <li><b>SUBJECT
</b><br />
664 Der Betreff der Mail
</li>
665 <li><b>TEXT
</b><br />
666 Der eingegebene Mail-Text
</li>
669 Weiterhin k
önnen Sie hier die definierten Variablen der
<a href=
"#individuell">individuellen Formularfelder
</a> (das, was Sie in
<code>tpl_var
</code> angegeben haben) verwenden.
<br />
671 Zus
ätzlich ist es m
öglich, einen Bereich, der nur angezeigt werden soll, wenn Captchas aktiviert sind, anzuzeigen, indem Sie diesen in folgenden Block einschlie
ßen (der
<code>{ELSE}
</code>-Teil ist optional):
<br />
673 <code>{IF CAPTCHA}Captchas sind aktiviert{ELSE}Captchas sind nicht aktiviert{ENDIF}
</code>
680 <hr width=
"80%" noshade=
"noshade" />
682 <p><a href=
"changes.htm">Versionshistorie
</a></p>
684 <hr width=
"80%" noshade=
"noshade" />
686 <p style=
"font-size:8pt">© 2002-
2012 Patrick Canterino
</p>
688 <table border=
"0" cellspacing=
"0" style=
"font-size:8pt">
691 <td><a href=
"http://www.patshaping.de/" target=
"_blank">http://www.patshaping.de/
</a></td>
694 <td><a name=
"bottom" id=
"bottom">E-Mail:
</a></td>
695 <td><a href=
"mailto:patrick@patshaping.de">patrick@patshaping.de
</a></td>