Hi,
Das Problem ist komplexer, also du glaubst.
Noch komplexer? :-)
Woran erkennst du mit Sicherheit, dass zwei aufeinanderfolgende Requests, die neue Datensätze erstellen, durch doppeltes Abschicken des Formulars entstanden sind? Könnten das nicht einfach zwei identische Datensätze sein?
Ich will ja gerade, dass zwei aufeinanderfolgende Requests auch "zwei Datensaetze" generieren.
Woran erkennst du, dass zwei Datensätze, die abgeschickt wurden, zusammengehören bzw. besser nur einer wären, wenn sie sich durch ein oder mehrere Zeichen unterscheiden?
Ich will das ja gerade nicht erkennen wollen.
Du reduzierst das Problem auf "Browser soll nicht zweimal schicken". Das ist aber nicht das Problem. Das Problem ist: Wie erkennt die Datenbank, dass zwei neue Datensätze nur einer sind? Und das wird schwierig.
Das ganze Problem ist doch nur existent, weil die dummen Browser den Mehrfachsubmit ein und desselben Formulars "unterstuetzen".
Gegen nervöses Klicken helfen eigentlich nur zwei Dinge:
Erstens: Schnelle Serverantworten. Wenn es Ewigkeiten braucht, bis der Server die Antwortseite generiert hat, dann ist am Design der interaktiven Komponente was faul und sollte korrigiert werden.
Eine Teilloesung. Denn es kommen auch dann immer noch mehrere "Jungs" durch, bevor das Gatter faellt.
Zweitens: Dir stehen alle Möglichkeiten von Javascript offen, um ein Mehrfachklicken so gut es geht zu unterbinden. Beispielsweise kannst du onsubmit den Submitbutton disablen oder ausblenden - dann kann er nicht mehr geklickt werden. Und wenn du Javascript verpflichtend machst, ist es eigentlich auch kaum zu umgehen. Du kannst als Krönung auch onclick das Formular per Javascript abschicken.
Ich hasse JavaScript. - Aber im Ersnt, ich denke, dass die Browser eben einen Sachverhalt abbilden, der in dieser Realitaet nicht existiert. - Beantworte doch einfach, warum es moeglich sein soll ein und denselben Request mehrfach zu senden? Wer will das denn? Wer braucht das denn? - Das ist doch ein Designfehler, oder?
Was du nicht kannst: Dich gegen Böswilligkeit schützen.
PS: Den Forumsbullen nehm' ich dir etwas übel.
War absolut nicht boese gemeint. Der Bulle geniesst doch einen guten Ruf.
Gruss,
Lude