$_POST löschen?

heimatlied

Mitglied
Hey,
auf meiner Seite habe ich ein Formular dessen Daten per POST übertragen werden. Passt auch alles.
Wenn der User die Seite von sich aus aktualisiert, so werden die Daten von POST nochmals in meine Datei geschrieben (da sie ja dot gespeichert sind).
Kann ich, nachdem der User die Daten abgeschickt hat und diese gespeichert worden sind, aus $_Post löschen, sodass die beim Aktualisieren nicht nochmal reingeschrieben werden?
Eine Umleitung auf eine andere Seite wär hier nicht so passend.
Danke schonmal,
heimatlied
 
Das kannst du ohne eine Umleitung nicht verhindern, da der Request vom Browser genauso wiederholt wird (HTTP-Protokoll).

Ich würde so machen:
Datei 'show.php' zeigt die Ausgabe und das Formular an. Die "action" des Formulars zeigt auf 'save.php'. Wenn erfolgreich gespeichert wurde, leite auf 'show.php' weiter. Dann ist der letzte HTTP-Request eine GET methode anstatt einer POST-Methode.
 
Bei der Methode mit dem Header, kommt die Fehlermeldung, dass de rHEader schon abgeschickt wurde.
Hab dann mit nem Meta-Tag auf die selbe Seite umgeleitet, wenn das Speichern erfolgreich war.
Müsste ja im Prinzip aufs gleiche herauskommen, als wenn ich nen header einbinde, oder?
Jedenfalls funktioniert das auch nicht. Er Speicher die Daten beim erneuten Laden nochmal.
Die Variante von Radhad ist im Prinzip gut, bloß die Fehlermeldungen werden dann ebenfalls auf der Seite angezeigt, was dann nich so toll ist o.ô
Mh...gibs noch andere Varianten?
 
Naja das Problem mit dem Header ist, dass du vorher keinerlei Daten an den Browser schicken darfst, denn sonst schickt er ja schon einen header mit.Und ich nehme an, dass schon die Meta-Tags ein Problem dieser Art bilden. Aber was anderes fällt mir nicht dazu ein.
 
CraisiePrinzZ: Die Header-Angabe ist nicht valide, siehe RFC2616 (absolute Angabe eines URI!).
Nach header('Location: /foo/bar/bla.html') empfiehlt sich die Verwendung von [phpf]exit[/phpf] oder [phpf]die[/phpf], da eine HTTP-Weiterleitung a) nicht vom Client akzeptiert werden muss, b) aber auch der Server nicht nachvollziehen kann, dass nun wirlich Schluss sein muss. Es kann also möglich sein, dass das Script ansonsten noch weiter abgearbeitet wird, selbst wenn schon längst ein Redirect initiiert wurde.
 
Zurück