AlexBausW: Datensatz einfügen bei 'Aktualisieren' im Browser verhindern

Beitrag lesen

Hallo,

[Datensatzeinfügen durch Formularreload verhindern]

Es gibt dazu imho mehrere Strategien.

a) Umleiten auf eine andere, harmlose Seite (z.B. das Formular). Diese kann der User aktualisieren so oft er möchte. Er darf nur den Backbutton nicht drücken :)

b) Mit Sessions kannst Du verfolgen, was Dein User gerade tut, bzw. zuletzt getan hat. Speichere in den Sessionvariablen ein Flag für 'erledigt' und frage dieses vor dem Einfügen ab.

c) Erzeuge aus den übermittelten Daten eine Checksumme, die Du speicherst und mit den Checksummen neu hinzukommender Datensätze vergleichen kannst. Damit kannst Du doppeltes Einfügen von Datensätzen auch noch zu einem späteren Zeitpunkt vermeiden.

d) Überlege, welche Daten in welchen Felder nur einmal vorkommen dürfen. Setze diese Spalte(n) auf 'UNIQUE', damit die Datenbank den doppelten Eintrag verhindern kann.

Ich halte eine Kombination aus b) und c), eventuell mit a) und d) für einigermaßen ausreichend. d) ist imho sowieso sinvoll wenn es geht. :)

Gruß Alex