Aufrufende HTML-Datei/Seite feststellen um zurückzukehren
Freddy
- perl
Hallo miteinander,
ich habe ein Perl/CGI-Programm, das aus verschiedenen Seiten aufgerufen wird. In diesem Programm wird eine HTML-Seite mit Input-Feldern angezeigt, um dort Daten zu erfassen. Beim klicken auf den Submit-Butten ruft sich das Perl-Programm durch <form... selbst mit entsprechenden Parametern auf, um die erfassten Daten in eine Datei zu speichern. Nach der Ausführung der Schreib-Subroutine möchte ich wieder zu der Seite zurückkehren, die das Perl-Programm das erste mal durch einen Link aufgerufen hat. Wie kann ich dies verwirklichen?
Für eure Unterstützung vielen Dank.
Gruß Freddy
Hi,
Nach der Ausführung der Schreib-Subroutine möchte ich wieder zu der Seite zurückkehren, die das Perl-Programm das erste mal durch einen Link aufgerufen hat. Wie kann ich dies verwirklichen?
Das Referrer steht in der Umgebungsvariablen HTTP_REFERER.
Auf diese Seite kannst du dann, wenn du mit dem Verarbeiten der Daten fertig bist, mit redirect weiterleiten.
Das ist aber nicht sehr zuverlässig, weil der Client den Referrer bestimmt irgendwie manipulieren kann.
Also würde ich diese Methode nur verwenden, wenn es nicht so schlimm ist, wenn ein User mal den Referrer verändert, ansonsten müsstest du das ganze anders lösen.
mfG,
steckl
Hollo steckl,
vielen Dank für deine Info. Ich habe es ausprobiert, aber es hat (noch) nicht funktioniert. Ich werde es in den nächsten tagen nochmal probieren. Vieleicht funktioniert es im IE nicht und muss es mal mit dem FF probieren. Es wird ja darauf hingewiesen, dass die Umgebungsvariable HTTP_REFERER nicht bei allen Browsern funktienieren soll.
Ich habe nun zunächst eine Lösung, in dem ich eine kurte HTML-Seite mit dem JavaScript-Befehlen history.lenght (prüfen, ob mindestens 2 vorverweise vorhanden) und history.go(-2). Das funktioniert mal sicher.
Gruß Freddy
Hi,
Ich habe nun zunächst eine Lösung, in dem ich eine kurte HTML-Seite mit dem JavaScript-Befehlen history.lenght (prüfen, ob mindestens 2 vorverweise vorhanden) und history.go(-2). Das funktioniert mal sicher.
... aber nur wenn der Besucher Javascript im Browser nicht deaktiviert hat.
mfG,
steckl
Hallo,
... aber nur wenn der Besucher Javascript im Browser nicht deaktiviert hat.
Tja, da kann mal wieder sehen: Internetprogrammierung mit vielen Haken und Ösen. Bei vielem was man verwirklichen möchte, geht Irgendwo etwas immer nicht, egal, wie man es löst. Da ich in vielen Seiten jedoch JavaScript verwendet habe, geht da ohne nichts. Es hat sich auch noch kein User beschwert. JavaScript ist heute sehr viel verbreitet.
Gruß Freddy
Tja, da kann mal wieder sehen: Internetprogrammierung mit vielen Haken und Ösen. Bei vielem was man verwirklichen möchte, geht Irgendwo etwas immer nicht, egal, wie man es löst. Da ich in vielen Seiten jedoch JavaScript verwendet habe, geht da ohne nichts. Es hat sich auch noch kein User beschwert. JavaScript ist heute sehr viel verbreitet.
Wenn dir eine so zuverlässige Technik wie Perl zur Verfügung steht, brauchst du für dein Problem eigentlich kein JS. Entweder du wertest den Referrer aus oder du bringst in deinen Formularen eine eindeutige Seitenkennung unter, Stichwort verstecktes Eingabefeld.
Siechfred