$_POST Variablen nach Refresh noch vorhanden
Tolwin
- php
0 dedlfix0 Tolwin
0 Sven Rautenberg0 Tolwin
Hallo Forum,
habe ein Formular gestrickt welches an sich selbst eingegebene Daten posted. Wenn ich nach der Eingabe der Daten diese per Submit absende,
werden diese auch erfolgreich in die Datenbank eingetragen. Allerdings kann ich mit jedem Refresh der Seite den gleichen Datensatz erneut eintragen. Dies wollte ich mit unset($_POST) abfangen - leider erfolglos.
Kann mir jemand sagen wie ich dieses Problem beheben könnte?
Vielen Dank und Gruß
Tolwin
echo $begrüßung;
habe ein Formular gestrickt welches an sich selbst eingegebene Daten posted. Wenn ich nach der Eingabe der Daten diese per Submit absende,
werden diese auch erfolgreich in die Datenbank eingetragen. Allerdings kann ich mit jedem Refresh der Seite den gleichen Datensatz erneut eintragen. Dies wollte ich mit unset($_POST) abfangen - leider erfolglos.
unset($_POST) ruft nicht beim Browser zurück um ihm zu sagen: "Lösch mal die Post-Daten". Es gibt auch keine andere Methode dies zu tun.
Kann mir jemand sagen wie ich dieses Problem beheben könnte?
Es gibt mehrere Möglichkeiten. Hier zwei davon:
echo "$verabschiedung $name";
Danke dedlfix, werde es mal versuchen.
Grüße
Tolwin
Moin!
habe ein Formular gestrickt welches an sich selbst eingegebene Daten posted. Wenn ich nach der Eingabe der Daten diese per Submit absende, werden diese auch erfolgreich in die Datenbank eingetragen. Allerdings kann ich mit jedem Refresh der Seite den gleichen Datensatz erneut eintragen. Dies wollte ich mit unset($_POST) abfangen - leider erfolglos.
Der Reload einer POST-Ergebnisseite (mit den Formulardaten im HTTP-Request-Body) ist identisch zum Reload einer GET-Ergebnisseite (mit den Formulardaten im HTTP-Request-Header und sichtbar in der URL-Zeile).
Daraus folgt: Wenn du verhindern willst, dass eine POST-Ergebnisseite neu geladen werden kann, und dabei die gleichen Daten immer wieder schickt, mußt du entweder verhindern, dass der Browser auf dieser Seite stehenbleibt (mit Redirect zu einer ungefährlichen Seite), oder programmtechnisch abfangen, dass die Daten mehrfach verarbeitet werden.
Der Redirect ist dabei wesentlich simpler zu programmieren.
- Sven Rautenberg
Hi Sven,
danke für den Hinweis... werde es versuchen.
Grüße
Tolwin