]> git.p6c8.net - form-email.git/blobdiff - readme.htm
Beispiel-Formularfeld in ReadMe-Datei kopiert und erlaeutert
[form-email.git] / readme.htm
index 5d8a07990ec5e81dfb2857382e37ca962d5f98dd..5d9375733e5223ab9bd3956bc96a3b12f138247d 100644 (file)
@@ -67,8 +67,8 @@ p
 }\r
 pre\r
 {\r
 }\r
 pre\r
 {\r
- padding-left: 0.5cm;\r
- padding-right: 0.5cm;\r
+ padding-left: 0.7cm;\r
+ padding-right: 0.7cm;\r
  font-family: 'Courier New', Courier, monospace;\r
  font-size: 10pt;\r
  color: #0000B0;\r
  font-family: 'Courier New', Courier, monospace;\r
  font-size: 10pt;\r
  color: #0000B0;\r
@@ -138,6 +138,8 @@ Auf diese Weise müssen Sie zum Beispiel nicht überall auf Ihrer Homepa
 <p>Sie k&ouml;nnen au&szlig;erdem noch ein Feld namens <i>subject</i> anlegen. Hier kann ein Betreff f&uuml;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 />\r
 Weiterhin ist noch ein Feld namens <i>recipient</i> m&ouml;glich. Dieses Feld enth&auml;lt einen Alias-Empf&auml;nger. Wie das funktioniert, k&ouml;nnen Sie bei der Beschreibung der Einstellung <code>$aliases</code> lesen.</p>\r
 \r
 <p>Sie k&ouml;nnen au&szlig;erdem noch ein Feld namens <i>subject</i> anlegen. Hier kann ein Betreff f&uuml;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 />\r
 Weiterhin ist noch ein Feld namens <i>recipient</i> m&ouml;glich. Dieses Feld enth&auml;lt einen Alias-Empf&auml;nger. Wie das funktioniert, k&ouml;nnen Sie bei der Beschreibung der Einstellung <code>$aliases</code> lesen.</p>\r
 \r
+<p>Zus&auml;tzlich k&ouml;nnen Sie die vorgegebenen Formularfelder mit <a href="#individuell">individuellen</a> erg&auml;nzen.</p>\r
+\r
 <p>Wenn Sie Captchas (zuf&auml;llige Zeichenfolgen, die der Benutzer vor dem Absenden des Formulars eingeben muss, um Spambots auszuschlie&szlig;en) benutzen wollen (siehe unten), m&uuml;ssen Sie im Formular die Datei <i>captcha.php</i> als Bild einbinden (<code>&lt;img&gt;</code>-Tag). Bedenken Sie, dass Sie diese Datei auch in den <a href="#templates">Templates</a> einbinden m&uuml;ssen!</p>\r
 \r
 <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>\r
 <p>Wenn Sie Captchas (zuf&auml;llige Zeichenfolgen, die der Benutzer vor dem Absenden des Formulars eingeben muss, um Spambots auszuschlie&szlig;en) benutzen wollen (siehe unten), m&uuml;ssen Sie im Formular die Datei <i>captcha.php</i> als Bild einbinden (<code>&lt;img&gt;</code>-Tag). Bedenken Sie, dass Sie diese Datei auch in den <a href="#templates">Templates</a> einbinden m&uuml;ssen!</p>\r
 \r
 <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>\r
@@ -150,7 +152,7 @@ Weiterhin ist noch ein Feld namens <i>recipient</i> m&ouml;glich. Dieses Feld en
 \r
 <p>Geben Sie zwischen den einfachen Anf&uuml;hrungszeichen die Adresse an, an die die Mail gehen soll. Wenn die Mail an mehrere Empf&auml;nger gehen soll, so trennen Sie die einzelnen E-Mail-Adressen ganz einfach durch Semikolons.</p>\r
 \r
 \r
 <p>Geben Sie zwischen den einfachen Anf&uuml;hrungszeichen die Adresse an, an die die Mail gehen soll. Wenn die Mail an mehrere Empf&auml;nger gehen soll, so trennen Sie die einzelnen E-Mail-Adressen ganz einfach durch Semikolons.</p>\r
 \r
-<p>Das war es im Grunde genommen. Aber <i>Form E-Mail</i> l&auml;sst sich noch weiter konfigurieren. Mehr dazu finden Sie in den n&auml;chsten beiden Abschnitten.</p>\r
+<p>Sie haben nun <i>Form E-Mail</i> f&uuml;r die Standard-Nutzung konfiguriert. <i>Form E-Mail</i> l&auml;sst sich jedoch noch feiner konfigurieren. Mehr dazu finden Sie in den n&auml;chsten Abschnitten.</p>\r
 \r
 <p class="upanddown"><a href="#top">Nach oben</a></p>\r
 \r
 \r
 <p class="upanddown"><a href="#top">Nach oben</a></p>\r
 \r
@@ -171,8 +173,8 @@ Weiterhin ist noch ein Feld namens <i>recipient</i> m&ouml;glich. Dieses Feld en
 <td><code>$aliases</code></td>\r
 <td>Hier k&ouml;nnen Sie eine Alias-Namen f&uuml;r Empf&auml;nger angeben. Soll einem Alias mehrere Empf&auml;nger zugeordnet werden, gilt dasselbe wie f&uuml;r <code>$mailto</code>.<br />\r
 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&auml;ren kann, hier ein Beispiel:<br /><br />\r
 <td><code>$aliases</code></td>\r
 <td>Hier k&ouml;nnen Sie eine Alias-Namen f&uuml;r Empf&auml;nger angeben. Soll einem Alias mehrere Empf&auml;nger zugeordnet werden, gilt dasselbe wie f&uuml;r <code>$mailto</code>.<br />\r
 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&auml;ren kann, hier ein Beispiel:<br /><br />\r
-<code>array('info' =&gt; 'info@IhreDomain.xyz', 'support' =&gt; 'support@IhreDomain.xyz',<br />\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'alle' =&gt; 'info@IhreDomain.xyz; support@IhreDomain.xyz')</code></td>\r
+<code>array('info' =&gt; 'info@example.com', 'support' =&gt; 'support@example.com',<br />\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'alle' =&gt; 'info@example.com; support@example.com')</code></td>\r
 </tr>\r
 </table>\r
 \r
 </tr>\r
 </table>\r
 \r
@@ -272,7 +274,7 @@ Beispiel: <code>array('HTTP_USER_AGENT','REMOTE_ADDR')</code></td>
 </tr>\r
 <tr>\r
 <td><code>$referer_ok</code></td>\r
 </tr>\r
 <tr>\r
 <td><code>$referer_ok</code></td>\r
-<td>Geben Sie hier die Hosts an, von denen <i>Form E-Mail</i> aus aufgerufen werden darf (zum Beispiel <i>www.IhreDomain.xyz</i>). Trennen Sie mehrere Hosts durch Semikolons.<br />\r
+<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 />\r
 <b style="color:#FF0000">Achtung:</b> Mit einer Referer-Pr&uuml;fung kann man zwar unbedarfte Anwender abschrecken, aber wirklich zuverl&auml;ssig ist diese Methode nicht, da sich der Referer f&auml;lschen l&auml;sst oder auch komplett fehlen kann.</td>\r
 </tr>\r
 </table>\r
 <b style="color:#FF0000">Achtung:</b> Mit einer Referer-Pr&uuml;fung kann man zwar unbedarfte Anwender abschrecken, aber wirklich zuverl&auml;ssig ist diese Methode nicht, da sich der Referer f&auml;lschen l&auml;sst oder auch komplett fehlen kann.</td>\r
 </tr>\r
 </table>\r
@@ -431,6 +433,10 @@ Beispiel: <code>array('HTTP_USER_AGENT','REMOTE_ADDR')</code></td>
 <td>Die Mail konnte nicht versendet werden</td>\r
 </tr>\r
 <tr>\r
 <td>Die Mail konnte nicht versendet werden</td>\r
 </tr>\r
 <tr>\r
+<td><code>$err_store_error</code></td>\r
+<td>Die Mail konnte nicht gespeichert werden</td>\r
+</tr>\r
+<tr>\r
 <td><code>$err_only_post</code></td>\r
 <td><i>Form E-Mail</i> darf nur mit <tt>POST</tt> aufgerufen werden</td>\r
 </tr>\r
 <td><code>$err_only_post</code></td>\r
 <td><i>Form E-Mail</i> darf nur mit <tt>POST</tt> aufgerufen werden</td>\r
 </tr>\r
@@ -523,7 +529,7 @@ Wie <i>Form E-Mail</i> diese Formularfelder behandelt, wird &uuml;ber verschiede
 </tr>\r
 <tr>\r
 <td><code>$user_fields['beruf']['check']</code></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&uuml;ft werden soll.</td>\r
+<td>Geben Sie hier eine selbst definierte PHP-Funktion (als Zeichenkette) an, durch die der Wert gepr&uuml;ft werden soll. Das erste und einzige Argument der Funktion ist der Inhalt des Formularfeldes. Die Funktion muss <code>true</code> zur&uuml;ckgeben, wenn der Wert in Ordnung ist, ansonsten <code>false</code>.</td>\r
 </tr>\r
 </table>\r
 \r
 </tr>\r
 </table>\r
 \r
@@ -565,14 +571,59 @@ Wie <i>Form E-Mail</i> diese Formularfelder behandelt, wird &uuml;ber verschiede
 </tr>\r
 <tr>\r
 <td><code>$user_fields['beruf']['prepare']</code></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&uuml;fungen noch ver&auml;ndern (bspw. kann man hier Funktionen angeben, die alle Buchstaben in Gro&szlig;buchstaben umwandelt).</td>\r
+<td>Geben Sie hier eine selbst definierte PHP-Funktion (als Zeichenkette) an, die den Wert des Formularfeldes nach den Pr&uuml;fungen noch ver&auml;ndern (bspw. kann man hier Funktionen angeben, die alle Buchstaben in Gro&szlig;buchstaben umwandelt). Das erste und einzige Argument der Funktion ist der Inhalt des Formularfeldes. Die Funktion muss den bearbeiteten Wert zur&uuml;ckgeben.</td>\r
 </tr>\r
 <tr>\r
 <td><code>$user_fields['beruf']['tpl_var']</code></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&auml;re das dann <code>USER_beruf</code>).</td>\r
+<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&auml;re das dann <code>USER_beruf</code>).</td>\r
 </tr>\r
 </table>\r
 \r
 </tr>\r
 </table>\r
 \r
+<p>Sie m&uuml;ssen die individuellen Formularfelder nun noch in Ihrem Mail-Formular und in den <a href="#templates">Templates</a> erg&auml;nzen.</p>\r
+\r
+<p>Es folgt Beispiel-Konfiguration f&uuml;r ein Formularfeld namens <i>beruf</i>:</p>\r
+\r
+<pre>\r
+$user_fields['beruf']['min'] = 5;\r
+$user_fields['beruf']['max'] = 10;\r
+$user_fields['beruf']['required'] = 1;\r
+$user_fields['beruf']['regex'] = '/^[A-Za-z]+$/';\r
+$user_fields['beruf']['check'] = 'check_beruf';\r
+$user_fields['beruf']['prepare'] = 'prepare_beruf';\r
+$user_fields['beruf']['tpl_var'] = 'BERUF';\r
+\r
+$user_fields['beruf']['errors']['too_short'] = 'Der Beruf muss mind. 5 Zeichen lang sein!';\r
+$user_fields['beruf']['errors']['too_long'] = 'Der Beruf darf höchstens 10 Zeichen lang sein!';\r
+$user_fields['beruf']['errors']['not_set'] = 'Sie haben keinen Beruf eingegeben!';\r
+$user_fields['beruf']['errors']['match_fail'] = 'Der Beruf darf nur aus Buchstaben bestehen!';\r
+$user_fields['beruf']['errors']['check_fail'] = 'Der Beruf sollte keine äöü haben!';\r
+\r
+# Beispiel-Check-Funktion\r
+\r
+function check_beruf($content) {\r
+    if(strpos($content,'ä') !== false) return false;\r
+    if(strpos($content,'ö') !== false) return false;\r
+    if(strpos($content,'ü') !== false) return false;\r
+    \r
+    return true;\r
+}\r
+\r
+# Beispiel-Vorbereitungs-Funktion\r
+\r
+function prepare_beruf($content) {\r
+    return strtolower($content);\r
+}\r
+</pre>\r
+\r
+<p>Das Formularfeld hat die folgenden Eigenschaften:</p>\r
+\r
+<ul>\r
+<li>Der Beruf muss aus mind. 5 Zeichen und max. 10 Zeichen bestehen (<code>min</code> und <code>max</code>)</li>\r
+<li>Es sind nur die Buchstaben A-Z (gro&szlig; und klein) erlaubt (<code>regex</code>)</li>\r
+<li>&Uuml;ber die Pr&uuml;ffunktion <code>check_beruf()</code> wird verhindert, dass &auml;, &ouml; und &uuml; angegeben werden (das wird nat&uuml;rlich auch durch den regul&auml;ren Ausdruck ausgeschlossen, es soll lediglich zur Verdeutlichung dienen)</li>\r
+<li>Durch die Vorbereitungsfunktion <code>prepare_beruf()</code> werden alle Gro&szlig;buchstaben in Kleinbuchstaben umgewandelt</li>\r
+</ul>\r
+\r
 <p class="upanddown"><a href="#top">Nach oben</a></p>\r
 \r
 <h2><a name="templates" id="templates">Templates anpassen</a></h2>\r
 <p class="upanddown"><a href="#top">Nach oben</a></p>\r
 \r
 <h2><a name="templates" id="templates">Templates anpassen</a></h2>\r
@@ -601,7 +652,6 @@ Die Fehlermeldung</li>
 <td><i>mail.txt</i></td>\r
 <td>Legt das Aussehen der Mail fest</td>\r
 <td>\r
 <td><i>mail.txt</i></td>\r
 <td>Legt das Aussehen der Mail fest</td>\r
 <td>\r
-<!-- !!!UNVOLLSTAENDIG!!! -->\r
 <ul>\r
 <li><b>EMAIL</b><br />\r
 Die eingegebene E-Mail-Adresse</li>\r
 <ul>\r
 <li><b>EMAIL</b><br />\r
 Die eingegebene E-Mail-Adresse</li>\r
@@ -615,16 +665,15 @@ Der eingegebene Mail-Text</li>
 Die formatierte Zeitangabe</li>\r
 </ul>\r
 \r
 Die formatierte Zeitangabe</li>\r
 </ul>\r
 \r
-Zus&auml;tzlich k&ouml;nnen Sie hier durch Variablen, die mit <b>ENV_</b> beginnen, Server-Umgebungsvariablen im Text einf&uuml;gen (siehe auch Konfigurationsvariable <code>$allowed_envs</code>.<br />\r
+Weiterhin k&ouml;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 />\r
 <br />\r
 <br />\r
-<b>!!!TODO: Individuelle Formularfelder!!!</b>\r
+Zus&auml;tzlich k&ouml;nnen Sie hier durch Variablen, die mit <b>ENV_</b> beginnen, Server-Umgebungsvariablen im Text einf&uuml;gen (siehe auch Konfigurationsvariable <code>$allowed_envs</code>.\r
 </td>\r
 </tr>\r
 <tr>\r
 <td><i>sent.htm</i></td>\r
 <td>Wird angezeigt, wenn die Mail erfolgreich versendet wurde</td>\r
 <td>\r
 </td>\r
 </tr>\r
 <tr>\r
 <td><i>sent.htm</i></td>\r
 <td>Wird angezeigt, wenn die Mail erfolgreich versendet wurde</td>\r
 <td>\r
-<!-- !!!UNVOLLSTAENDIG!!! -->\r
 <ul>\r
 <li><b>EMAIL</b><br />\r
 Die eingegebene E-Mail-Adresse</li>\r
 <ul>\r
 <li><b>EMAIL</b><br />\r
 Die eingegebene E-Mail-Adresse</li>\r
@@ -639,14 +688,14 @@ Der eingegebene Mail-Text</li>
 <li><b>TIME</b><br />\r
 Die formatierte Zeitangabe</li>\r
 </ul>\r
 <li><b>TIME</b><br />\r
 Die formatierte Zeitangabe</li>\r
 </ul>\r
-<b>!!!TODO: Individuelle Formularfelder!!!</b>\r
+\r
+Weiterhin k&ouml;nnen Sie hier die definierten Variablen der <a href="#individuell">individuellen Formularfelder</a> (das, was Sie in <code>tpl_var</code> angegeben haben) verwenden.\r
 </td>\r
 </tr>\r
 <tr>\r
 <td><i>user_error.htm</i></td>\r
 <td>Wird angezeigt, wenn der Benutzer einen Fehler gemacht hat, der sich aber noch beheben l&auml;sst (zum Beispiel wenn ein Formularfeld nicht ausgef&uuml;llt wurde)</td>\r
 <td>\r
 </td>\r
 </tr>\r
 <tr>\r
 <td><i>user_error.htm</i></td>\r
 <td>Wird angezeigt, wenn der Benutzer einen Fehler gemacht hat, der sich aber noch beheben l&auml;sst (zum Beispiel wenn ein Formularfeld nicht ausgef&uuml;llt wurde)</td>\r
 <td>\r
-<!-- !!!UNVOLLSTAENDIG!!! -->\r
 <ul>\r
 <li><b>EMAIL</b><br />\r
 Die eingegebene E-Mail-Adresse</li>\r
 <ul>\r
 <li><b>EMAIL</b><br />\r
 Die eingegebene E-Mail-Adresse</li>\r
@@ -660,11 +709,11 @@ Der Betreff der Mail</li>
 Der eingegebene Mail-Text</li>\r
 </ul>\r
 \r
 Der eingegebene Mail-Text</li>\r
 </ul>\r
 \r
-Zus&auml;tzlich ist es m&ouml;glich, einen Bereich, der nur angezeigt werden soll, wenn Captchas aktiviert sind, anzuzeigen, indem Sie diesen in folgenden Block einschlie&szlig;en (der <code>{ELSE}</code>-Teil ist optional):<br />\r
+Weiterhin k&ouml;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 />\r
 <br />\r
 <br />\r
-<code>{IF CAPTCHA}Captchas sind aktiviert{ELSE}Captchas sind nicht aktiviert{ENDIF}</code><br />\r
+Zus&auml;tzlich ist es m&ouml;glich, einen Bereich, der nur angezeigt werden soll, wenn Captchas aktiviert sind, anzuzeigen, indem Sie diesen in folgenden Block einschlie&szlig;en (der <code>{ELSE}</code>-Teil ist optional):<br />\r
 <br />\r
 <br />\r
-<b>!!!TODO: Individuelle Formularfelder!!!</b>\r
+<code>{IF CAPTCHA}Captchas sind aktiviert{ELSE}Captchas sind nicht aktiviert{ENDIF}</code>\r
 </td>\r
 </tr>\r
 </table>\r
 </td>\r
 </tr>\r
 </table>\r

patrick-canterino.de