Dans le développement Web, nous rencontrons souvent des scénarios dans lesquels les utilisateurs soumettent des données. Si l'utilisateur clique plusieurs fois sur le bouton de soumission dans un court laps de temps, les données peuvent être soumises à plusieurs reprises, causant des problèmes inutiles au système et aux utilisateurs. La technologie PHP anti-shake peut résoudre efficacement ce problème et éviter la soumission répétée de données.
L'idée principale de l'anti-shake PHP est d'enregistrer l'heure de soumission lorsque l'utilisateur soumet des données, puis de déterminer s'il doit les soumettre à nouveau dans l'intervalle de temps spécifié. Si les données sont soumises à nouveau dans l'intervalle, elles seront considérées comme une soumission répétée, sinon les données seront traitées normalement.
session_start();
fonction anti-rebond ($ clé, $ temps) {
// Récupère l'heure de la dernière soumission $lastSubmit = isset($_SESSION[$key]) ? $_SESSION[$clé] : 0;
// Détermine si le temps écoulé depuis la dernière soumission est supérieur à l'intervalle de temps spécifié if (time() - $lastSubmit < $time) {
renvoie vrai ; // Répéter la soumission} else {
$_SESSION[$key] = heure(); // Mettre à jour l'heure de la dernière soumission return false; // Soumission sans double}
}
// Récupère les données soumises $data = $_POST['data'];
// Détermine s'il s'agit d'une soumission répétée if (debounce('submit_key', 3)) {
echo 'Ne soumettez pas de données à plusieurs reprises ! ';
} autre {
// Traitez les données soumises // ...
echo 'Données soumises avec succès ! ';
}Dans l'exemple ci-dessus, nous utilisons $_SESSION pour enregistrer l'heure de la dernière validation. La fonction anti-rebond accepte deux paramètres : $key est utilisé pour identifier différentes actions de soumission et $time spécifie l'intervalle de temps. Si le temps écoulé depuis la dernière soumission est inférieur à l'intervalle de temps spécifié, cela sera considéré comme une soumission répétée, sinon le temps de soumission sera mis à jour.
Dans le développement réel, vous pouvez appeler la fonction anti-rebond sur la page de soumission du formulaire et transmettre différents $key et $time pour les paramètres anti-tremblement. En outre, la technologie frontale peut également être combinée, par exemple en désactivant le bouton après avoir cliqué dessus, puis en activant le bouton une fois la soumission terminée, évitant ainsi davantage les soumissions répétées.
La technologie PHP anti-shake est un moyen efficace pour éviter la soumission répétée de données. En enregistrant l'heure de soumission et en définissant l'intervalle de temps, vous pouvez empêcher les utilisateurs de cliquer fréquemment menant à des soumissions répétées, tout en optimisant l'expérience utilisateur en conjonction avec l'interaction frontale. L'application flexible de la technologie PHP anti-shake dans des projets réels peut améliorer considérablement la stabilité du système et l'expérience utilisateur.