Technologie pratique anti-shake PHP : évitez la soumission répétée de données
Dans le développement Web, nous rencontrons souvent des scénarios qui obligent les utilisateurs à soumettre 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. Afin de résoudre ce problème, nous pouvons utiliser la technologie PHP anti-shake pour éviter que les données ne soient soumises à plusieurs reprises. Cet article donnera des exemples de code spécifiques pour aider les lecteurs à implémenter la technologie PHP anti-shake.
Le principe de la technologie PHP anti-shake est de sauvegarder les données soumises lorsque vous cliquez sur le bouton de soumission, puis dans un certain intervalle de temps, si l'utilisateur clique à nouveau sur le bouton, cela sera considéré comme une soumission répétée. Voici un exemple de code spécifique :
session_start(); function debounce($key, $time) { // 获取最后一次提交的时间 $lastSubmit = isset($_SESSION[$key]) ? $_SESSION[$key] : 0; // 判断距离最后一次提交的时间是否大于指定的时间间隔 if (time() - $lastSubmit < $time) { return true; // 重复提交 } else { $_SESSION[$key] = time(); // 更新最后一次提交的时间 return false; // 非重复提交 } } // 获取提交的数据 $data = $_POST['data']; // 判断是否为重复提交 if (debounce('submit_key', 3)) { echo '请勿重复提交数据!'; } else { // 处理提交的数据 // ... echo '数据提交成功!'; }
Dans le code ci-dessus, nous utilisons $_SESSION
pour enregistrer l'heure de la dernière soumission. La fonction debounce
accepte deux paramètres : $key
est utilisé pour identifier les 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é, il est considéré comme une soumission répétée, sinon l'heure de la dernière soumission est mise à jour ; $_SESSION
来保存最后一次提交的时间。debounce
函数接受两个参数:$key
用于标识不同的提交动作,$time
指定时间间隔。如果距离最后一次提交的时间小于指定的时间间隔,则判断为重复提交;否则更新最后一次提交的时间。
在实际应用中,我们可以根据需要在提交表单的页面中调用 debounce
函数,传递不同的 $key
和 $time
debounce
dans la page où le formulaire est soumis selon les besoins, en passant différents $key
et $time
Effectuez les réglages anti-tremblement. En plus d'utiliser la technologie PHP anti-shake, nous pouvons également utiliser la technologie frontale pour éviter la soumission répétée de données. Par exemple, désactivez le bouton après avoir cliqué sur le bouton Soumettre, puis activez le bouton jusqu'à ce que la soumission des données soit terminée. De cette façon, même si l’utilisateur clique plusieurs fois sur le bouton, cela ne provoquera pas de problèmes de soumission répétés. Pour résumer, la technologie PHP anti-shake est un moyen efficace d'éviter la soumission répétée de données. En enregistrant l'heure de la dernière soumission lors de la soumission des données et en définissant un intervalle de temps, les utilisateurs peuvent éviter dans une certaine mesure les clics répétés. Dans le même temps, nous pouvons également combiner la technologie frontale pour effectuer certaines interactions sur l'interface afin d'aider les utilisateurs à éviter de soumettre des données à plusieurs reprises. J'espère que les exemples de code de cet article seront utiles aux lecteurs en cours de développement ! 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!