Aktueller Standort: Startseite> Neueste Artikel> Anwendung der PHP-Anti-Shake-Technologie: Verhinderung wiederholter Einreichungen von Formularen und Verbesserung der Benutzererfahrung

Anwendung der PHP-Anti-Shake-Technologie: Verhinderung wiederholter Einreichungen von Formularen und Verbesserung der Benutzererfahrung

M66 2025-07-01

Anwendung der PHP-Anti-Shake-Technologie: Verhinderung wiederholter Einreichungen von Formularen und Verbesserung der Benutzererfahrung

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.

Was ist Anti-Shake-Technologie?

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.

Wie kann man Anti-Shake-Technologie in PHP implementieren?

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.

Beispiel für PHP -Backend -Code:

<?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 [&#39;name&#39;];
$ mail = $ _post [&#39;E -Mail&#39;];

// Überprüfen Sie, ob der Datensatz bereits vorhanden ist $ query = "Select * von Benutzern, wobei Name = &#39;$ name&#39; und E -Mail = &#39;$ mail&#39;" ";
$ 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 (&#39;$ name&#39;, &#39;$ mail&#39;)";
    $ mysqli-> Abfrage ($ Insert);
    echo "Rekord erfolgreich";
}

// Die Datenbankverbindung schließen $ mysqli-> close ();
?>

Front-End-Beispiele für HTML- und JavaScript-Code:

<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>

Zusammenfassen

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.