Ein anderes Kontaktformular mit RW (Teil 2)

1. Die Validierung des Formulars in Forms To Go
Also das Formular aus dem ersten Teil kopieren und als einer Textdatei mit dem Namen formular.html in einem Ordner speichern.

Dann auf der Seite http://www.google.com/recaptcha registrieren und eine Key für das Domain wo das Formular sich befinden wird erstellen.
Die erhaltene “Private key” in dem Formular statt YOUR_PUBLIC_KEY in dem Teil austauschen:

<?php
	require_once('recaptchalib.php');
	$publickey = "YOUR_PUBLIC_KEY"; // you got this from the signup page
	echo recaptcha_get_html($publickey);
?>

und wieder die Datei formular.html speichern.

Die Datei FormsToGoLite.dmg runterladen und installieren.
Aus dem Ordner Forms To Go Lite das Programm Forms To Go Lite starten.

In das erschienene “Forms To Go Lite”_Fenster
forms_to_go_liteschnappschuss024
die Datei formular.html verschieben
forms_to_go_liteschnappschuss025

Zuerst muss man die Pflichtfelder und deren Meldungen einstellen. Die Pflichtfelder sind in dem Formular mit der Klasse

class="fm-req"

erzeugt.
Es gibt also die Felder “Vorname”, “Familienname”, “Ort”, die Frage nach Updates, “Betreff” und “Kommentar” als Pflichtfelder. Möchte man andere Felder auch als Pflichtfelder erzeugen (zum Beispiel “Handy”) dann wird der Code

<li class="fm-opt">
	<label for="fm-handy">
		Handy:
	</label>
	<input id="fm-handy" name="handy" placeholder="Ihre Handynummer" type="text" />
</li>

geändert in dem Code:

<li class="fm-req">
	<label for="fm-handy">
		Handy:
		<strong><!--ERRORMSG:handy--></strong>
	</label>
	<input id="fm-handy" name="handy" placeholder="Ihre Handynummer" type="text" />
</li>

Wie man sieht, die Klasse der Listeneintrages wurde aus fm-opt in fm-req geändert und in dem label, hinter der Beschriftung des Feldes kommt eine “maskierte” Meldung ERRORMSG mit dem name des inputs. Die spätere CSS-Formatierung in

<strong></strong>

wird die Meldung (die gleich in Forms To Go erstellt wird) NUR erscheinen lassen wenn das Feld nicht ausgefült wird.

Zuerst die Spam-Roboter “Falle”:

dem Feld spam “Number of characters” als Validierung vergeben
forms_to_go_liteschnappschuss001
da für Länge die Null gewählt wurde, darf dieses Feld NICHTS enthalten.
forms_to_go_liteschnappschuss002
Als Fehlermeldung käme “Bitte ignorieren Sie das folgende Feld. Es wurde eingefügt, um Spam zu erkennen.” o.ä.

Dann das “Vorname” Feld:

forms_to_go_liteschnappschuss003
forms_to_go_liteschnappschuss004
Als Fehlermeldung käme “Bitte Ihren Vorname eingeben!” o.ä.

Das “Familienname” Feld:

forms_to_go_liteschnappschuss005
forms_to_go_liteschnappschuss006
Als Fehlermeldung käme “Bitte Ihren Familienname eingeben!” o.ä.

Das “Ort” Feld:

forms_to_go_liteschnappschuss007
forms_to_go_liteschnappschuss008
Als Fehlermeldung käme “Bitte Ihren Wohnort eingeben!” o.ä.

Das “Telefon” Feld:

forms_to_go_liteschnappschuss009
forms_to_go_liteschnappschuss010
Als Fehlermeldung käme “Bitte Ihre Telefonnummer eingeben!” o.ä.

Das “Email” Feld:

forms_to_go_liteschnappschuss011
forms_to_go_liteschnappschuss012
Als Fehlermeldung käme “Bitte eine gültige E-Mail Adresse eingeben!” o.ä.

Das “newsopt” Feld:

forms_to_go_liteschnappschuss013
forms_to_go_liteschnappschuss014

Das “Betreff” Feld:

forms_to_go_liteschnappschuss015
forms_to_go_liteschnappschuss016
Als Fehlermeldung käme “Bitte einen Betreff eingeben!” o.ä.

Das “Kommentar” Feld:

forms_to_go_liteschnappschuss017
forms_to_go_liteschnappschuss018
Als Fehlermeldung käme “Bitte die Anfrage eingeben!” o.ä.

Aus dem Menü Settings “Email to Form’s Owner…” anklicken:

Zuerst bei dem Icon Adresses bei dem Popup “From” email anklicken, dann eigenen Namen und die eigene E-Mail-Adresse einfügen
forms_to_go_liteschnappschuss019
Bei dem Icon “Email Body” #betreff# als Subject einstellen und am Ende der Felderliste die versendet werden soll könnte man noch eingeben:


-------------------
Datum: #FTG_E_DATE DD/MM/YYYY#
Zeit: #FTG_E_TIME HH:MM:SS 24HRS#
Browser: #FTG_S_HTTP_USER_AGENT#
IP-Adresse: #FTG_S_REMOTE_ADDRESS#

forms_to_go_liteschnappschuss020

Aus dem Menü Settings “Landing Pages” anklicken:
forms_to_go_liteschnappschuss021
Wenn eine Fehlermeldung erzeugt wird (Pflichtfeld nicht ausgefüllt) das Skript, das von Forms To Go erzeugt wird, soll den User auf die selbe Seite schicken allerdings jetzt sollen die Fehlermeldungen angezeigt.
In RW, die Seite des Formulars muss einen Dateinamen in Pageinspector haben, so dass für Error muss in dem Embed-Feld der Dateiname der Seite aus dem Pageinspector von RW (hier ftglite.php – die .php Enddung MUSS auch genommen werden da in dem Formular PHP Code sich befindet).
Wurde das Formular erfolgreich versendet, dann soll eine Seite angezeigt werden. Ich schlage vor in RW eine HTML Seite die IN DEM GLEICHEN ORDNER mit der Formular-Seite und die erfolg.html heisst zu erstellen und sie hier in dem Embed-Feld von Success einzugeben.
Als Inhalt der Seite könnte man den Code eingeben:

<p>Ihre Anfrage wurde erfolgreich versandt.<br />
Wir werden uns so schnell wie möglich bei Ihnen melden.</p>

Aus dem Menü Settings “reCAPTCHA…” anklicken:
forms_to_go_liteschnappschuss022
Die Private Key und die Fehlermeldung “Der eingegebene Text stimmt nicht mit dem angezeigten überein.” o.ä. eingeben.

Diese Einstellungsdatei soll jetzt in dem gleichen Ordner mit dem formular.html gespeichert werden (z.B. als formular.ftg).

Es bleibt jetzt de PHP Skript-Datei zu erzeugen. Aus dem Menü Script “Create PHP Script…” anklicken:
forms_to_go_liteschnappschuss023
Da das Formular durch action=”submit.php” in dem Code:

<form id="fm-form" method="post" action="submit.php" name="fm-form">

eine Datei submit.php erwartet (wenn alles “glatt” geht), MUSS diese Skript-Datei die jetzt erzeugt wird auch submit.php heissen. Die Datei kann in dem gleichen Ordner mit der Datei formular.html und formular.ftg gespeichert werden.

Von reCAPTCHA Downloads die letzte Version von recaptchalib.php runterladen und in dem gleichen Ordner mit den anderen Dateien (formular.html, formular.ftg, submit.php) entpacken.

In dem letzten Teil wird das Formular eingebunden.

Kommentieren ist momentan nicht möglich.