Μπορείτε να αποτρέψετε την εκ νέου υποβολή φόρμας μέσω μιας μεταβλητής περιόδου λειτουργίας. Ναι, μπορούμε να χρησιμοποιήσουμε microtime() καθώς και time() επίσης αντί για rand() , όποια συνάρτηση ή μεταβλητή δίνει διαφορετική τιμή μπορούμε να την χρησιμοποιήσουμε. ΑΛΛΑ βεβαιωθείτε ότι έχετε ορίσει αυτήν την τιμή σε μεταβλητή SESSION. Μπορείτε να αποτρέψετε την εκ νέου υποβολή φόρμας μέσω μιας μεταβλητής περιόδου λειτουργίας. Πρώτα πρέπει να ορίσετε το rand () σε ένα πλαίσιο κειμένου και το $_SESSION [‘rand’] στη σελίδα φόρμας:
Πώς μπορώ να σταματήσω την εκ νέου υποβολή φόρμας;
Μπορείτε να αποτρέψετε την εκ νέου υποβολή φόρμας μέσω μιας μεταβλητής περιόδου λειτουργίας. Ναι, μπορούμε να χρησιμοποιήσουμε microtime() καθώς και time() επίσης αντί για rand() , όποια συνάρτηση ή μεταβλητή δίνει διαφορετική τιμή μπορούμε να την χρησιμοποιήσουμε. ΑΛΛΑ βεβαιωθείτε ότι έχετε ορίσει αυτήν την τιμή στη μεταβλητή SESSION.
Πώς μπορώ να σταματήσω την εκ νέου υποβολή στο Refresh στο MVC;
Μετά την υποβολή της φόρμας, όταν κάνετε κλικ στο κουμπί Ανανέωση στο πρόγραμμα περιήγησης ή πατήσετε το πλήκτρο F5, εμφανίζεται ένα αναδυόμενο παράθυρο προειδοποίησης που προειδοποιεί για την εκ νέου υποβολή φόρμας. Η λύση είναι πολύ απλή, είτε η σελίδα πρέπει να ανακατευθυνθεί στον εαυτό της είτε σε κάποια άλλη σελίδα για να αποφευχθεί αυτή η συγκεκριμένη συμπεριφορά.
Πώς να αποτρέψετε την εκ νέου υποβολή φόρμας;
Συνήθως, θα προβώ στις παρακάτω ενέργειες για να αποτρέψω την εκ νέου υποβολή: Client Side – Χρησιμοποιήστε javascript για να αποτρέψετε τα διπλά κλικ σε ένα κουμπί που θα ενεργοποιήσει την υποβολή φόρμας. Μπορείτε απλώς να απενεργοποιήσετε το κουμπί μετά το πρώτο κλικ.
Πώς να αποκλείσω τα αναδυόμενα παράθυρα που ζητούν εκ νέου υποβολή φόρμας κατά την ανανέωση;
Μέθοδος JavaScript Αυτή η μέθοδος είναι αρκετά εύκολη και αποκλείει το αναδυόμενο παράθυρο που ζητά την εκ νέου υποβολή της φόρμας κατά την ανανέωση μόλις υποβληθεί η φόρμα. Απλώς τοποθετήστε αυτή τη γραμμή κώδικα JavaScript στο υποσέλιδο του αρχείου σας και δείτε τη “μαγεία”.
Πώς να αποτρέψετε την υποβολή μιας φόρμαςδύο φορές;
Ο μόνος τρόπος για να είστε 100% σίγουροι ότι η ίδια φόρμα δεν θα υποβληθεί ποτέ δύο φορές είναι να ενσωματώσετε ένα μοναδικό αναγνωριστικό σε κάθε ένα που εκδίδετε και να παρακολουθήσετε ποια από αυτά έχουν υποβληθεί στον διακομιστή. Η παγίδα είναι ότι εάν ο χρήστης δημιουργήσει αντίγραφα ασφαλείας στη σελίδα όπου ήταν η φόρμα και εισαγάγει νέα δεδομένα, η ίδια φόρμα δεν θα λειτουργήσει.
Τι συμβαίνει όταν ανανεώνετε μια σελίδα μετά την εκ νέου υποβολή;
Εάν ανανεώσετε μια σελίδα με δεδομένα POST, το πρόγραμμα περιήγησης θα επιβεβαιώσει την εκ νέου υποβολή σας. Εάν χρησιμοποιείτε δεδομένα GET, το μήνυμα δεν θα εμφανιστεί. Θα μπορούσατε επίσης να έχετε τη δεύτερη σελίδα, αφού αποθηκεύσετε την υποβολή, να ανακατευθύνετε σε μια τρίτη σελίδα χωρίς δεδομένα. Λοιπόν βρήκα ότι κανείς δεν ανέφερε αυτό το κόλπο.