Variablen innerhalb eines Formulares nutzen
Veröffentlichungsdatum: 26. September 2016
Änderungsdatum: 05. Juli 2017
formular formulareditor variablen übergeben referer url
Innerhalb von Formularen können Sie auch Variablen setzen, die Sie für die weitere Verarbeitung des Formulares verwenden können.
Sofern ein Element im Formular nicht existiert, kann es auch nicht angesprochen werden. Für solche Fälle bieten sich meist Variablen ein, die Sie für die weitere Verarbeitung des Formulares verwenden können.
Beispiel 1: Datum per Variable übergeben
Nachfolgend ein Beispiel, das auf Grundlage des Weblication® Standard-Formulares in der BASE eine Variable zum Setzen des Datums (mit Uhrzeit) nutzt. Vor der Erstellung des Formulares wird die Variable mit dem Wert des aktuellen Datums und Uhrzeit gesetzt (date). Auf diese Variable wird nach dem Absenden des Formulares zurückgegriffen, um den Zeitpunkt des Formularaufrufes der E-Mail mitgeben zu können ([!--date--]). Als Vergleichswert wird nach dem Absenden des Formulares ebenso der Zeitpunkt des Versandes festgehalten (dateSend) und auch der E-Mail mitgegeben ([!--dateSend--]).
Formulareditor: Box "E-Mail an den definierten Empfänger"
From: [!--email--] To: [!--to--] Content-Type: text/plain; charset=UTF-8 Subject: Anfrage vom Kontaktformular [!--wFormData--] Gesendet von: [!--wPageURL--] Erstellt am: [!--date--] Gesendet am: [!--dateSend--]
Formulareditor: Box "Vor der Erstellung auszuführendes Skript"
$date = date('d.m.Y')." ".date('H:i:s');
$this->setVar('date', $date);
Formulareditor: Box "Nach dem Absenden auszuführendes Skript"
...
$mailData["date"] = $this->getVar('date');
...

Beispiel 2: Zuletzt besuchte Projekt-Seite
Nachfolgend ein Beispiel, das auf Grundlage des
Weblication® Standard-Formulares in der BASE eine Variable zum Setzen
des zuletzt aufgerufenen URL nutzt. Vor der Erstellung des Formulares wird
die Variable mit dem Wert des zuletzt aufgerufenen URL aus der Weblication® Session History gesetzt (sessionHistoryUrl).
Auf diese Variable wird nach dem Absenden des Formulares
zurückgegriffen, um die zuletzt aufgerufene Seite (letzte URL) als Pfad dem Formularaufruf der E-Mail
mitgeben zu können ([!--sessionHistoryUrl--]).
Formulareditor: Box "E-Mail an den definierten Empfänger"
From: [!--email--] To: [!--to--] Content-Type: text/plain; charset=UTF-8 Subject: [!--subject--] [!--wFormData--] Gesendet von: [!--wPageURL--] Zuletzt besuchte Seite: https://www.domain.dd[!--sessionHistoryUrl--]
Formulareditor: Box "Vor der Erstellung auszuführendes Skript"
// zuletzt aufgerufene URL aus Weblication Session per Variable setzen:
$sessionHistoryUrl= wSession::getHistoryUrl();
$this->setVar('sessionHistoryUrl', $sessionHistoryUrl);
Formulareditor: Box "Nach dem Absenden auszuführendes Skript"
...
$mailData["sessionHistoryUrl"] = $this->getVar('sessionHistoryUrl');
...

Dies können Sie grundsätzlich auch mit dem HTTP Referer ($_SERVER["HTTP_REFERER"]) umsetzen. Allerdings unterbinden mittlerweile viele Benutzer die Übergabe des Referer bzw. haben manche Browser dies aus Datenschutzgründen bereits im Standard deaktiv gesetzt.
Allgemeines
Auf gleiche Weise können Sie auch andere Daten über Variablen dem Formular mitgeben (z.B. die Betreffzeile, etc.).
Eine andere Möglichkeit zur Übergabe von nicht im Formular ersichtlichen Daten ist der Einsatz von versteckten Formularfeldern (hidden). Hierzu steht Ihnen im Formulareditor ein eigenes Element zum Einfügen in das Formular zur Verfügung ("Verstecktes Feld (hidden)").