SnTT: HTTP_Referer speichern

von Bernd, assono GmbH, Standort Hamburg, 12.07.2007

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.

Bernd Hort

Bernd Hort

Diplom-Informatiker, Software-Entwickler & Speaker auf Fachkonferenzen

Bernd Hort ist Expert Digital Business Consultant bei assono. Seit mehr als 20 Jahren entwickelt er erfolgreich individuelle Software-Anwendungen für Unternehmen verschiedener Branchen. Insbesondere in den Bereichen HCL Notes und Domino (ehemals IBM) als auch bei aktuellen, unternehmensrelevanten Themen wie Web-Entwicklung und Web-Architektur, bei Angular-Anwendungen als auch bei progressiven Web-Apps kennt er die neusten Entwicklungen und weiß, wie diese eingesetzt werden können, um den größten Kundennutzen zu erzielen. Aufgrund seines Expertenwissens ist Bernd Hort regelmäßiger Sprecher auf nationalen und internationalen Fachkonferenzen.

Fachbeitrag Entwicklung HCL Domino

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

Sie haben Interesse an diesem Thema?

Gerne bieten wir Ihnen eine individuelle Beratung oder einen Workshop an.

Kontaktieren Sie uns

Weitere interessante Artikel