POST-Variablen beim Neuladen einer Seite "übergehen"?
Matthias Jütte
- sonstiges
0 Tom0 Sven Rautenberg
Hallo!
Ich habe folgendes Problem: von einer Seite rufe ich ein PHP-Skript als Pop-Up auf. Innerhalb dieses Pop-Ups spielen sich dann so einige Aktionen ab. Am Ende wird das Pop-Up (durch Buttonklick) geschlossen, dabei soll aber die Seite, von der ich es aufgerufen habe, aktualisiert werden. Letzteres habe ich mit JS auch wunderbar hinbekommen.
Es gibt nur noch einen kritischen Punkt: es kann vorkommen, daß direkt vor dem Aufruf des Pop-Ups eine kritische Funktion aufgerufen wurde. Dies hat dann zum Ergebnis, daß nach dem Schließen des Pop-Ups diese Funktion erneut ausgeführt würde, wenn man die Nachfrage nach dem Ausführen des Skripts mit den POST-Daten bestätigt. Und wenn der Benutzer dies nicht tut bleibt er mehr oder weniger hängen, da sich das Fenster nicht schließt.
Gibt es also eine Möglichkeit, diese POST-Variablen in der Ursprungsdatei irgendwie loszuwerden?
Gruß
Matthias
Hello,
Gibt es also eine Möglichkeit, diese POST-Variablen in der Ursprungsdatei irgendwie loszuwerden?
Das Problem dabei ist der Client, der sich wunschgemäß gemerkt hat, dass er dieses Formular durch einen POST erhalten hat und um dort nun wieder hinzugelangen, will er den POST nochmals ausführen. Das Verhalten wird man auf derselben URL auch nicht loswerden.
Da kann man dan wahrscheinlich nur serverseitig durch Speichern einer Formular-ID feststellen, dass aus diesem Form schon gepostet wurde und dann dieselben daten nochmals zur Verfügung stellen in einem read-Only-Form mit dem Hinweis auf den Doppelpost.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Moin!
Gibt es also eine Möglichkeit, diese POST-Variablen in der Ursprungsdatei irgendwie loszuwerden?
Nein, nicht so, wie du denkst.
Wenn eine Seite neu geladen wird, wird der HTTP-Request wiederholt. War dieser Request ein POST-Request, wird eben dieser wiederholt, mit allen Angaben aus dem gesendeten Formular.
Wenn du nicht willst, dass ein POST-Request im Browserfenster stehenbleibt, mach eine Weiterleitung zu einer anderen URL als Reaktion auf den POST-Request. Dann hast du im Fenster eine GET-URL stehen - und die macht üblicherweise was anderes, je nachdem, was du programmiert hast.
- Sven Rautenberg