Mit der Entwicklung des Internets ist die Einreichung von Formular zu einer unverzichtbaren Funktion in Webanwendungen geworden. Wiederholte Formulareinreichungen können jedoch zu Datenfehlern oder Programmausnahmen aufgrund von Netzwerkverzögerungen oder einer Fehloperation von Benutzer führen. Um dieses Problem zu lösen, kann die PHP-Anti-Shake-Technologie die Genauigkeit der Formulareingabe sicherstellen und wiederholte Einsendungen vermeiden.
Die Anti-Shake-Technologie ist eine Technologie, die die Häufigkeit des Betriebs steuert und sicherstellt, dass ein Betrieb nur einmal innerhalb eines bestimmten Zeitintervalls durchgeführt wird. Wenn die Einreichungsmaßnahme ausgelöst wird, legt die Anti-Shake-Technologie einen Timer fest, um sicherzustellen, dass der Einreichungsvorgang nur dann ausgeführt wird, wenn innerhalb der angegebenen Zeit keinen neuen Einreichungsauslöser vorhanden ist. Wenn während der Timerzeit erneut auf die Schaltfläche Senden geklickt wird, wird der Timer zurückgesetzt, wodurch wiederholte Einreichungen vermieden werden.
Als nächstes werden wir ein konkretes Beispiel verwenden, um zu zeigen, wie die Anti-Shake-Technologie in PHP implementiert werden kann. Nehmen wir an, wir haben ein Benutzerregistrierungsformular, das die Felder Name und Mailbox enthält. Nachdem der Benutzer das Formular eingereicht hat, müssen die Daten in der Datenbank gespeichert werden. Um sicherzustellen, dass Benutzer bei der Übermittlung von Formularen beim Senden von Formularen beim Senden von Formularen nicht wiederholt ein Senden von Schaltflächen einreichen.
<?php // Stellen Sie eine Verbindung zur Datenbank her $mysqli = new mysqli("localhost", "username", "password", "database"); // Überprüfen Sie, ob die Verbindung erfolgreich ist if ($mysqli-> Connect_error) { Die ("Verbindung fehlgeschlagen:". $ mysqli-> connect_error); } // Post data $ name = $ _post ['name']; $ mail = $ _post ['E -Mail']; // Überprüfen Sie, ob der Datensatz bereits vorhanden ist $ query = "Select * von Benutzern, wobei Name = '$ name' und E -Mail = '$ mail'" "; $ result = $ mysqli-> query ($ query); if ($ result-> num_rows> 0) { echo "Record bereits existiert"; } anders { // Neuen Datensatz einfügen $ $ = "In Benutzer einfügen (Name, E -Mail) Werte ('$ name', '$ mail')"; $ mysqli-> Abfrage ($ Insert); echo "Rekord erfolgreich"; } // Die Datenbankverbindung schließen $ mysqli-> close (); ?>
<form id="myForm" action="form_submit.php" method="POST"> <input type="text" name="name" required> <input type="email" name="email" required> <button type="submit" id="submitButton">einreichen</button> </form> <script> var form = document.getElementById("myForm"); var submitButton = document.getElementById("submitButton"); var debounceTimer = null; form.addEventListener("submit", function(e) { e.preventDefault(); // Stornieren Sie das Standardeinstellungsverhalten if (debounceTimer) { clearTimeout(debounceTimer); } debounceTimer = setTimeout(function() { form.submit(); // Verzögerte Einreichung von Formularen }, 1000); // Die Verzögerungszeit ist auf festgelegt1Zweite }); </script>
Durch die Kombination von PHP und JavaScript können wir eine wiederholte Einreichung von Formularen effektiv vermeiden und die Genauigkeit der Daten und den normalen Betrieb des Programms sicherstellen. Diese Anti-Shake-Technologie verbessert nicht nur die Benutzererfahrung, sondern reduziert auch Fehler, die durch Fehloperation verursacht werden.