In unserem Podcast diskutiert Thomas Bahn über Nutzen, Anwendungen und Erfahrungen aus den Bereichen Chatbots und Künstliche Intelligenz. Mehr erfahren

de · en

SnTT: HTTP_Referer speichern

von Bernd,
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 HCL Domino Entwicklung

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

Sie haben Fragen?

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Gerne erstellen wir eine individuelle Demo für Sie.

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 416
Vertrieb: +49 4307 900 402

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