hawkmaster1: Doppelte Inserts vermeiden , Browser Refresh

Beitrag lesen

Hallo zusammen,

wie könnte man am besten verhindern das durch F5 oder Browser Refresh zwei oder mehr gleiche Inserts in eine DB gemacht werden? Die meisten Tipps gehen hier in Richtung Weiterleitung mit header wie; exit (header('Location: danke.php'));

Ich möchte dies aber nicht da auf der gleichen Seite mehrmals Sumbits oder Eingaben mit unterschiedlichen Daten gemacht werden sollen. Da wäre eine Weiterleitung sehr Benutzer unfreundlich.

Ich habe es daher mal mit Sessions ausprobiert.

if( $_SESSION['cmd_SaveData'] == $_POST['cmd_SaveData'] && isset($_SESSION['cmd_SaveData'])){	   //doppelter Submit bzw. refresh
//echo "Sie haben schon einmal gespeichert";
}
else {
//Erste Speicherung
$_SESSION['cmd_SaveData'] = $_POST['cmd_SaveData']; 
..
//Insert in DB
..
} 

Das funktioniert zwar und verhindert bei F5 das man zweimal speichern kann. Aber es verhindert natürlich auch das jemand weitere male mit anderen Daten speichern kann.

Wie habt ihr so etwas umgesetzt? Bin für jede Anregung offen.

viele Grüße hawk