[GastForen Archiv Perl und CGI Adresszeile bei Ausgabe aus CGI

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

Adresszeile bei Ausgabe aus CGI

r a c
Beiträge gesamt: 955

31. Jul 2003, 14:54
Beitrag # 1 von 5
Bewertung:
(2347 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich habe ein Perl-CGI, dass Formular-Eingaben in e-mails verpackt und eine Dankesseite ausgibt. Bei genau dieser Dankesseite ist in der Adresszeile die Adresse des CGI zu sehen http://www.meine_domain.ch/cgi-bin/irgendwas.pl

Kann ich das ändern?
Z.B. die selbe Adresse ausgeben, wie das Formular, dass verarbeitet wurde?

So sieht es an der Stelle aus, wo diese Seite ausgegeben wird:

-----
sub SendConfirm {
print(PrintHeader);

print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n\n";
print "<html>\n";
print "<head>\n";
print "<title>...
-------
X

Adresszeile bei Ausgabe aus CGI

oesi50
  
Beiträge gesamt: 2315

31. Jul 2003, 15:12
Beitrag # 2 von 5
Beitrag ID: #45770
Bewertung:
(2347 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi rac,

ja das kann man ändern.
Dazu darf nicht das perl Script die Daten ausgeben, sondern die Antwortseite muss mit einem -Redirect- erzeugt werten.
z.B.

print "Location: http://www.example.com/dankeseite.html\n\n";

Dann gibt es aber im Script keine Möglichkeit, die Dankeseite zu modifizieren.

Wenn auf deinem Webserver SSI funktioniert, kannst Du das so machen:

im Script:
print "Location: http://www.example.com/...fizierter_Text\n\n";

In der Dankeseite:
bla bla
<!--#echo var="QUERY_STRING" -->
bla bla


Grüße Oesi


als Antwort auf: [#45768]

Adresszeile bei Ausgabe aus CGI

r a c
Beiträge gesamt: 955

31. Jul 2003, 17:12
Beitrag # 3 von 5
Beitrag ID: #45786
Bewertung:
(2347 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Oesi,

Ja SSI funktioniert. Aber habe ich dann nicht den String in der URL, wenn ich z.B. den Name zur Dankesseite übergebe?

Meine Lieblings-Variante wäre, die Dankesseite weiterhin vom CGI ausgeben und die Adresse irgenwie (z.B. beim Header) zu verändern.

Dass man so was kann, vermute ich, weil es was ähnliches bei error-Seiten gibt:
http://www.hilfdirselbst.ch/test---test.html
hier sieht man die Adresse des Error Dokuments
http://www.metanet.ch/test---test.html
und hier sieht man die nicht existierende Adresse. Also muss man dass irgendwie kontrolieren können.


Grüsse
r a c


als Antwort auf: [#45768]

Adresszeile bei Ausgabe aus CGI

oesi50
  
Beiträge gesamt: 2315

31. Jul 2003, 17:42
Beitrag # 4 von 5
Beitrag ID: #45791
Bewertung:
(2347 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das ist genau so ein redirect, nur nicht vom Script, sondern vom Webserver veranlasst.
Dazu schreibt man in die .htaccess Datei einfach:

ErrorDocument 403 http://example.com/error1.html
ErrorDocument 404 http://example.com/
ErrorDocument 500 http://example.com/error3.html
usw.

Deine Adresszeile im Browser enthält immer den letzten Aufruf.

Bei einem redirect sieht das so aus(stark vereinfacht).

B:Browser
W:Webserver

B: -> GET http://www.hilfdirselbst.ch/test---test.html (hier ensteht ein Error 404 der zum redirect führt)
W: <- Location: http://www.hilfdirselbst.ch/
B: -> GET http://www.hilfdirselbst.ch/
W: <- Daten werden geliefert

Bei deinem 2. Beispiel gibt es kein ErrorDocument und damit wird der 404er durchgereicht.

Grüße Oesi


als Antwort auf: [#45768]
(Dieser Beitrag wurde von oesi50 am 31. Jul 2003, 17:48 geändert)

Adresszeile bei Ausgabe aus CGI

oesi50
  
Beiträge gesamt: 2315

31. Jul 2003, 18:03
Beitrag # 5 von 5
Beitrag ID: #45795
Bewertung:
(2347 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
eins hab ich noch:

Du kannst mit dem Script diesen HTML Code mitschicken.

im HEAD

<meta http-equiv="refresh" content="1; url=startseite.html">

im BODY
<a href="startseite.html">hier gehts weiter</a>

mit dem refresh wird nach 1 Sekunde die angegebene Seite automatisch vom Browser geladen. Allerdings machen soetwas nicht alle Browser mit. Deshalb muss im Body noch der entsprechende Link sein, damit Deine User trotzdem eine Möglichkeit haben, wieder zur Startseite zu kommen.

Grüße Oesi


als Antwort auf: [#45768]
X