Ich habe ein HTML Formular, was an ein PHP Script gesendet wird.
Das Script braucht je nach Serverauslastung 1 - 10 Sekunden bevor es durch ist und Antwort senden kann.
Während dieser Zeit sieht der User noch sein Formular mit dem Absenden Button drunter und wenn er glaubt es dauert zu lange, klickt er nochmal auf den Button.
Er könnte natürlich auch aus Versehen einen Doppelklick drauf gemacht haben.
Das Selbe wenn der User statt Buttonklick in einem der Eingabefelder die Enter-Taste (doppelt) drückt.
Mein Script fängt den Error schon ab, sprich der User bekommt für den zweiten Klick eine Fehlermeldung angezeigt, aber das heisst auch, der User sieht die Bestätigung, dass sein erster Klick erfolgreich war nicht, er sieht nur die Fehlermeldung und fragt sich natürlich, ob jetzt alles in Ordnung ist.
In kurz:
Wie verhindere ich, dass der User das Formular doppelt absenden kann?
Es wäre mir egal, ob in PHP oder JavaScript oder sonstwas.
Im Web habe ich zwar ein paar Hinweise gefunden, wie man nach erfolgreicher Antwort verhindert, dass ein Seitenrefresh die Daten nochmal sendet, aber mein Problem liegt schon vorher.
Das Script braucht je nach Serverauslastung 1 - 10 Sekunden bevor es durch ist und Antwort senden kann.
Während dieser Zeit sieht der User noch sein Formular mit dem Absenden Button drunter und wenn er glaubt es dauert zu lange, klickt er nochmal auf den Button.
Er könnte natürlich auch aus Versehen einen Doppelklick drauf gemacht haben.
Das Selbe wenn der User statt Buttonklick in einem der Eingabefelder die Enter-Taste (doppelt) drückt.
Mein Script fängt den Error schon ab, sprich der User bekommt für den zweiten Klick eine Fehlermeldung angezeigt, aber das heisst auch, der User sieht die Bestätigung, dass sein erster Klick erfolgreich war nicht, er sieht nur die Fehlermeldung und fragt sich natürlich, ob jetzt alles in Ordnung ist.
In kurz:
Wie verhindere ich, dass der User das Formular doppelt absenden kann?
Es wäre mir egal, ob in PHP oder JavaScript oder sonstwas.
Im Web habe ich zwar ein paar Hinweise gefunden, wie man nach erfolgreicher Antwort verhindert, dass ein Seitenrefresh die Daten nochmal sendet, aber mein Problem liegt schon vorher.