Hello,
ich habe beim absch. e. Formul. manchmal doppelte Eintr. in der DB. kann es an einem nervösen klicken des users liegen? oder an meiner validation?
Dazu gibt es hier schon viele Postings und auch ein paar Lösungsvorschläge von Christian Kruse. Ich hatte auch neulich ein Musterscript für die POST-Validierung (da ging es um Löschungen von Datansatzlisten mittels Checkbox) hier abgeliefert. Das zeigt eigentlich ganz klar, wie man unerlaubte Posts mittels Session abfangen kann.
Die Gründe können sein:
-----------------------
Repost durch nochmaliges Clicken des Postbuttons, bevor die Response da ist (danach sollte die Seite im Browserfesnter überschreiben sein)
Repost durch Reload
Repost durch Historie
Mehrfach-Post durch Übertragungsfehler (Packet wird unterwegs dupliziert), wobei das unwahrscheinlich ist aber nicht unmöglich.
Abhilfe:
--------
Bau eine eineindeutige Formular-ID (Hidden-Field) ins Form ein und trage sie beim Formversand an den Client in eine Liste ein. Kommt der Request vom Form, schau in der Liste, ob die ID drinsteht. Wenn nein, dann ist es ein unerwünschter Request, wenn ja, dann beantworte den Request mit einer neuen ID und lösche die alte aus der Liste.
Hier ist eine DB sicher der bessere Weg, da man da von Zeit zu Zeit "vergessene" IDs löschen kann über Timestamp o.ä.
Grüße
Tom