In dieses Emailformular wurde ein Spamschutz eingebaut. Erstellt euch eure eigenen Bilder mit anderen Buchstaben und passt den Code auf dieser Seite entsprechend an. (Es ist nicht erlaubt meine Bilder zu nehmen.). Bedenkt, dass ihr mit diesem Script sehbehinderte Menschen außen vor lasst, aber ich habe ja auch noch eine andere Lösung und zwar ein Emailformular mit Spamschutz und Rechenaufgabe, das auch auf PHP und Javascript basiert.
Das Script besteht aus Javascript und PHP.
<script type="text/javascript"> function RND(){ |
Hier wird die Funktion namens eingaben_ueberpruefen() definiert, welche im Formular beim klicken onSubmit aufgerufen wird. In diesem Beispiel muss das Formular die Bezeichnung "Form" bekommen. Das Feld, in dem man die Zeichen eingibt muss die Bezeichnung "eingabe" bekommen. Die Anzahl der einzugebeneden Zeichen sind hier 5. Siehe unten die Schlüssel bestehen alle aus 5 Buchstaben. RND() |
| <body onLoad="document.Form.eingabe.focus();"> | Javascript im Bodytag, der Cursor wird auf das Eingabefeld gesetzt. |
<form name="Form" action="formailer.php" method="post" onSubmit="return eingaben_ueberpruefen(this.form)"> |
Beim Abschicken (onSubmit) wir die Javascript Funktion aufgerufen, welche überprüft ob im Feld "eingabe" 5 Zeichen eingegeben wurden. Ist das nicht Fall wird false zurückgegeben und es wird nichts verschickt. |
| <input type=hidden name="code"> | Verstecktes Feld, es bekommt seinen Wert von der Javascriptfunktion RND() siehe oben. |
| <script type="text/javascript">document.write('<img src="'+RND()+'A.gif" width=210 height=50>');</script> | Per Javascript wird das Bild eingefügt. Es wird aus dem Wert von code und dem Namen des Bildes zusammengesetzt. |
| ...weitere Eingabefelder.... | weitere Eingabefelder, wie gehabt. |
| <input type=submit value="Senden"> | und natürlich auch der Senden Button |
| </form> |
Die Überprüfung erfolgt wird auf der Seite formailer.php.
| Email Funktion mit Spamschutz auf der Seite formailer.php | |
<?php
$chluessel[1] = "fnpor"; // Spam-Schutz ?> |
Zu Anfang werden die Formularfelder, die mit Post versendet wurden empfangen, wie gehabt.
Dann wird überprüft, ob im Feld eingaben ein Wert eingetragen wurde. Alle Buchstaben werden in Kleinbuchstaben umgewandelt und der PHP Variablen $eingabe übergeben. Außerdem wird der Wert des Formularfeldes code der PHP Variablen $code übergeben.
Es folgt ein Array, welches alle Zeichen der Bilder enthält und zwar in der gleichen Reihenfolge, wie es in den Bildern zu sehen ist. Dann wird überprüft, ob der Wert des Arrayelementes mit dem Wert des Bildes übereinstimmt. ist das der Fall, wir die Email verschickt und per Echo ein Hinweise ausgegeben. Ist das nicht der Fall, kommt der Hinweis, das hier was nicht stimmt. |
Hier nochmal die Erklärungen zur mail Funktion: Auf dieser PHP Seite wird nun die Email verschickt. Diese Seite kann
man auch als Bestätigungs Seite anlegen, mit einem Text wie Zu Anfang müssen allen Formularfelder mittes _POST an die PHP Seite übergeben werden. Anschließend werden alle User-Eingaben mit Verkettungsoperator Verkettungsoperator .= an die Variable $dieMessage übergeben. Dann folgt die Email Funktion welche 4 Parameter hat, die wie immer mit
Komma getrennt werden |
|
| Session | Übersicht | |