Hello,
Wie verhindert ihr das mehrfachabsenden eines Formulars?
Das geht nur mit einer clientseitigen Sprache, also z.B. mit JavaScript
Die mehrfache Weiterverarbeitung auf dem Server kann aber verhindert werden, wenn Du dem Formular einen Unique Key gibst, z.B. als Hidden-Element.
Dann kannst Du nach der Datenübernahme in Deiner Datenbank nachschauen lassen, ob der der Key schon vohanden ist. Ist er da, kannst Du dir die Weiterverarbeitung des Requests zum größten teil sparen. Der User sollte natürlich noch eine Nachricht mit dem nächsten möglichen Schritt als Link oder Button bekommen.
Oder aber, Du legst es einfach darauf an. Wenn in der Tabelle ein Unique Contraint auf die Spalte gesetzt ist, wird der Eintrag ja ohnehin abgelehnt. Den benötigst Du ja sowieso (auch wenn Du vorher abfragst), damit Du Dir kein TOCTOU-Problem baust. (Race Condition zwischen nebenläufigen Prozessen).
http://en.wikipedia.org/wiki/Time-of-check-to-time-of-use
Für die Unique-ID eigent sich z.B. beim Apache Webserver $_SERVER['UNIQUE_ID']. Das ist aber nur vorhanden, wenn das passende Modul auch geladen ist.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
