Sven Rautenberg: POST-Variablen aus Serverspeicher kicken

Beitrag lesen

Moin!

wie bekommt man es ohne Weiterleitungen am Elegantesten hin, das man die gespeicherten POST-Variablen ausm Speicher haut, wenn "reload" geklickt wird bzw. gleich bei erfolgreicher Übergabe?

Ohne Weiterleitung gar nicht.

Überleg mal selbst: Wenn du ein GET-Formular hast, stehen nach dem Abschicken des Formulars die Daten in der URL. Wenn du diese URL neu lädst - landen diese Daten auch erneut beim Skript.

Bei GET ist das absolut normal, jeder versteht das, und der Browser fragt auch nicht mit einer Meldung nach, ob die GET-Daten erneut verschickt werden sollen.

POST verhält sich, was das Datensenden angeht, absolut identisch. Nur manche Browser fragen halt nach (und verwirren den Benutzer), wenn man die vermeintliche "Formularergebnisseite" neu lädt.

Den GET-Parameter wirst du nur los, indem du einen Redirect machst. Die POST-Daten wirst du nur auf die selbe Weise los.

Alternativ kannst du in einer Session natürlich auch speichern, dass du die Daten eines speziellen Formulars bereits einmal erhalten hast, und ignorierst weitere Daten einfach. Das dürfte aber weitaus komplexer zu programmieren sein (insbesondere die diversen Umstände, die man erst einmal erforschen muß, bei denen solches Ignorieren dann zu unerwünschtem Skriptverhalten oder Benutzbarkeitsverweigerung führen könnte).

- Sven Rautenberg

--
"Love your nation - respect the others."