+<h2><a name="individuell" id="individuell">Individuelle Formularfelder</a></h2>\r
+\r
+<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 />\r
+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>\r
+\r
+<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>\r
+\r
+<p><code><input type="text" name="beruf" /></code></p>\r
+\r
+<p>Der Name des Feldes lautet also <b>beruf</b>. Dies benötigen wir für die weitere Definition.</p>\r
+\r
+<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>\r
+\r
+<table border="1">\r
+<tr>\r
+<td><b>Einstellung</b></td>\r
+<td><b>Beschreibung</b></td>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['min']</code></td>\r
+<td>Geben Sie hier an, wie lang der vom Benutzer eingebene Wert mindestens sein muss</td>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['max']</code></td>\r
+<td>Geben Sie hier an, wie lang der vom Benutzer eingebene Wert höchstens sein darf</td>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['required']</code></td>\r
+<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>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['regex']</code></td>\r
+<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>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['check']</code></td>\r
+<td>Geben Sie hier eine selbst definierte PHP-Funktion (als Zeichenkette) an, durch die der Wert geprüft werden soll.</td>\r
+</tr>\r
+</table>\r
+\r
+<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>\r
+\r
+<table border="1">\r
+<tr>\r
+<td><b>Einstellung</b></td>\r
+<td><b>Beschreibung</b></td>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['errors']['too_short']</code></td>\r
+<td>Der vom Benutzer eingegebene Wert ist nicht lang genug</td>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['errors']['too_long']</code></td>\r
+<td>Der vom Benutzer eingegebene Wert ist zu lang</td>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['errors']['not_set']</code></td>\r
+<td>Das Formularfeld ist ein Pflichtfeld und es wurde nicht ausgefüllt.</td>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['errors']['match_fail']</code></td>\r
+<td>Die Überprüfung des Wertes durch den regulären Ausdruck ist fehlgeschlagen.</td>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['errors']['check_fail']</code></td>\r
+<td>Die Überprüfung des Wertes durch die PHP-Funktion ist fehlgeschlagen.</td>\r
+</tr>\r
+</table>\r
+\r
+<p>Zusätzlich sind noch die folgenden Einstellungen möglich:</p>\r
+\r
+<table border="1">\r
+<tr>\r
+<td><b>Einstellung</b></td>\r
+<td><b>Beschreibung</b></td>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['prepare']</code></td>\r
+<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).</td>\r
+</tr>\r
+<tr>\r
+<td><code>$user_fields['beruf']['tpl_var']</code></td>\r
+<td>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 <b>beruf</b> wäre das dann <code>USER_beruf</code>).</td>\r
+</tr>\r
+</table>\r
+\r
+<p class="upanddown"><a href="#top">Nach oben</a></p>\r
+\r