CGI: Location: Wertübergabe an die HTML-Seite
Stefan
- perl
Hallo,
in meinem CGI-Script zur Erstellung einer Bestellmail, wird eine Bestellnummer generiert.
Diese würde ich gerne auf meiner Bestätigungsseite anzeigen.
bisher wurde die Bestätigungsseite am Endedes Skrites wie folgt aufgerufen:
print "Location: $FORM{'okredirect'\n\n";
meine Idee war jetzt:
print "Location: $FORM{'okredirect'}?Bestellung=$bestell\n\n";
hat aber nicht funktioniert.
Es kommt auf der HTML-Seite nichts an - abgefragt mit:
alert(window.location.search);
Was ist falsch?
Vielen dank im Voraus!
Gruß Stefan
Hi,
meine Idee war jetzt:
print "Location: $FORM{'okredirect'}?Bestellung=$bestell\n\n";
hat aber nicht funktioniert.
Was ergibt eine normale Kontrollausgabe, ohne Location: davor?
Es kommt auf der HTML-Seite nichts an - abgefragt mit:
alert(window.location.search);
Wie sieht die Adresse in der Adresszeile aus, auf die dein Browser umgeleitet wird?
MfG ChrisB
Was ergibt eine normale Kontrollausgabe, ohne Location: davor?
/bestell-ok.htm?Bestellung=1205659116
Wie sieht die Adresse in der Adresszeile aus, auf die dein Browser umgeleitet wird?
Da die Seite ein Teil eines Framesets ist, ändert sich die Adresszeile nicht.
Packe ich händisch die oben genannte Zeile hinter meine Domainadresse in die Adresszeile bekomme ich den alert wie gewünscht mit "?Bestellung=1205659116".
Noch eine Idee?
Danke!
Gruß Stefan
Hi,
Wie sieht die Adresse in der Adresszeile aus, auf die dein Browser umgeleitet wird?
Da die Seite ein Teil eines Framesets ist, ändert sich die Adresszeile nicht.
Aha!
Solche wichtigen Informationen solltest du gleich erwaehnen.
Packe ich händisch die oben genannte Zeile hinter meine Domainadresse in die Adresszeile bekomme ich den alert wie gewünscht mit "?Bestellung=1205659116".
Noch eine Idee?
Du schriebst, dass du
alert(window.location.search);
fuer die Kontrollausgabe verwendet hast.
Vermutlich ist window in diesem Falle nicht *das* window-Objekt, welches du anzusprechen beabsichtigtest (eben wegen des Framesets).
MfG ChrisB
Was ergibt eine normale Kontrollausgabe, ohne Location: davor?
/bestell-ok.htm?Bestellung=1205659116
Dann funktioniert Dein Perl-Script und es liegt ein clientseitiges Problem vor.
Da die Seite ein Teil eines Framesets ist, ändert sich die Adresszeile nicht.
Hast Du ein target im <form>-Tag angegeben? Wird denn die Bestätigungsseite tatsächlich in dem Frame geladen, in dem Du es haben willst?
Siechfred
Moin Moin!
Erzeuge die Bestätigungsseite direkt im CGI, statt auf eine Bestätigungsseite umzuleiten. TT2 kann hilfreich sein, wenn Du ein bestehendes Seitenlayout weiterverwenden willst.
Alexander
Erzeuge die Bestätigungsseite direkt im CGI
Ja - ist eine Idee - habe aber noch die Hoffnung mir diese Umstellung sparen zu können.
Danke!
Gruß Stefan
Hallo,
in meinem CGI-Script zur Erstellung einer Bestellmail, wird eine Bestellnummer generiert.
Diese würde ich gerne auf meiner Bestätigungsseite anzeigen.
Ich mache das so:
sub redir{
my $url = shift;
print "Status: 302 Moved\n";
print "location: $url\n\n";
return;
}
Und damit z.B.: redir("$ENV{SCRIPT_NAME}?quit=1");
if(param('quit')){
quit();
}
sub quit{
# haue eine Bestätigung mit print raus
}
Schönen Sonntag,
Hotte