hilfdirselbst.ch
Facebook Twitter gamper-media

"Geht nicht" ist keine gültige Fehlermeldung!

r a c
Beiträge: 955
31. Jul 2003, 14:54
Beitrag #1 von 5
Bewertung:
(1905 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Adresszeile bei Ausgabe aus CGI


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>...
------- Top
 
X
oesi50  A  S
Beiträge: 2315
31. Jul 2003, 15:12
Beitrag #2 von 5
Beitrag ID: #45770
Bewertung:
(1905 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Adresszeile bei Ausgabe aus CGI


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] Top
 
r a c
Beiträge: 955
31. Jul 2003, 17:12
Beitrag #3 von 5
Beitrag ID: #45786
Bewertung:
(1905 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Adresszeile bei Ausgabe aus CGI


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] Top
 
oesi50  A  S
Beiträge: 2315
31. Jul 2003, 17:42
Beitrag #4 von 5
Beitrag ID: #45791
Bewertung:
(1905 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Adresszeile bei Ausgabe aus CGI


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)
Top
 
oesi50  A  S
Beiträge: 2315
31. Jul 2003, 18:03
Beitrag #5 von 5
Beitrag ID: #45795
Bewertung:
(1905 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Adresszeile bei Ausgabe aus CGI


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] Top
 
X