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.
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--]).
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--]
$date = date('d.m.Y')." ".date('H:i:s');
$this->setVar('date', $date);
...
$mailData["date"] = $this->getVar('date');
...
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--]).
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--]
// zuletzt aufgerufene URL aus Weblication Session per Variable setzen:
$sessionHistoryUrl= wSession::getHistoryUrl();
$this->setVar('sessionHistoryUrl', $sessionHistoryUrl);
...
$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.
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)").