SnTT: HTTP_Referer speichern

von Bernd Hort,
assono GmbH, Standort Hamburg,

In der Web-Entwicklung gibt die CGI-Variable HTTP_Referer Auskunft darüber, von welcher Webseite der User auf die aktuelle Webseite gekommen ist. Im Zusammenhang mit einer Feedback-Datenbank, in der ein User Kommentare zu einer Webseite hinterlassen kann, ist diese Angabe existentiell.

Um in Lotus Domino auf den HTTP_Referer zuzugreifen, muss lediglich ein Feld mit dem gleichen Namen in die Maske aufgenommen werden. Der erste Ansatz wäre eigentlich den Feldtype auf "Berechnet beim Anlegen" zu setzen und schon müsste die Aufgabe erfüllt sein. Leider greift dieser Ansatz zu kurz.

Zu dem Zeitpunkt wenn das Feedback-Dokument im Browser zum Ausfüllen angezeigt wird, steht im HTTP_Referer wie erwartet die URL, auf deren Webseite der Feedback-Knopf betätigt worden war. Wenn allerdings das Feedback-Formular vom Browser zum Server zum Speichern geschickt wird, wird vor dem Speichern der HTTP_Referer neu berechnet. Somit steht als URL, auf die sich das Feedback bezieht, in dem Feedback-Dokument immer nur die URL der Feedback-Seite selbst aber nicht die ursprüngliche URL.

Nach einigem Herumprobieren habe ich eine relativ einfache Lösung gefunden. In der Maske gibt es ein Feld "Page", das vom Type "Berechnet beim Anlegen" ist, mit einer leeren Formel und das im Editiermodus verborgen ist. Statt dessen wird im Editiermodus "Berechneter Text" als Pass-thru HTML mit folgender Formel ausgegeben.
"<input name=\"Page\" value=\"" + HTTP_Referer + "\" readonly >"
A picture named M2
Wenn die Webseite auf dem Server aufbereitet wird, um sie zum Browser zum Ausfüllen zu schicken, hat das Feld HTTP_Referer zu dem Zeitpunkt noch den gewünschten Wert hat. Der berechnete Text schreibt den Wert als verstecktes Feld mit dem gleichen Feldname in den HTML-Code, wie das Feld in der Maske. Überträgt der Browser die Eingaben zum Server zum Speichern, wird das versteckte Feld mit übertragen und auf Seiten des Servers nicht noch einmal neu berechnet.

Fachbeitrag IBM Domino Tipp Entwicklung

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie wollen eine individuelle Lösung? Kontaktieren Sie uns

Weitere interessante Artikel

JUNIOR-Landeswettbewerb

JUNIOR-Landeswettbewerb

In der Schule erste Gründungsideen umsetzen - Die bundesweiten JUNIOR-Programme bieten Schülern die Möglichkeit, ihr eigenes Startup … Mehr

von
Katharina Adam
,

Sie haben Fragen? Wir sind für Sie da.

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Sie können uns auf verschiedene Weisen für eine unverbindliche Erstberatung erreichen:

assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 407
Techn. Hotline: +49 4307 900 403
Vertrieb: +49 4307 900 402

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de