Comment interdire le vote répété en PHP : placez d'abord les votes dans l'ensemble ; puis utilisez "$redis->sIsMember('question:vote:' . $questionId, $userId);" Votez simplement.
L'environnement d'exploitation de cet article : Système Windows 7, PHP version 7.1, ordinateur DELL G3
Comment interdire le vote répété en php ?
Qu'il s'agisse d'un vote réel ou d'un vote en ligne, l'unicité de l'identité de l'électeur doit être assurée.
Normalement, nous mettrons les votes en stockage, mais il est évidemment trop lent de les interroger dans la base de données. Désormais avec redis (http://redis.io), vous pouvez les mettre dans l'ensemble.
Ci-dessous, j'utilise du code PHP pour démontrer ce processus. C'est similaire dans d'autres langages
$userId = '111'; $questionId = '222'; // 用户111向问题222投票,那么我们把222的userId放到名为question:vote:111的set里 $redis->sAdd('question:vote:' . $questionId, $userId); // 判断222用户是否对111问题投过票了,只需判断111是否被包含在question:vote:111的set里 $isVoted = $redis->sIsMember('question:vote:' . $questionId, $userId); // 我们还可以取消投票,只需要从set里移除这个元素 $redis->sRem('question:vote:' . $questionId, $userId);
Tout se fait en mémoire, très rapide
Apprentissage recommandé : "Tutoriel vidéo PHP"
.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!