Следующий код находится внутри вызова ajax.Я пытаюсь убедиться, что люди не голосуют по вопросам с определенным идентификатором слишком часто, используя сессии.
Поэтому они нажимают кнопку, которая выполняет следующий код php:
$id=$_GET["id"];
if ((isset($_SESSION["$id"]) && ((time() - $_SESSION["$id"]) > 180)) || (!isset($_SESSION["$id"]))) {
// last vote was more than 3 minutes ago
$_SESSION["$id"] = time(); // update/create vote time stamp
//there is code here to add the vote to the database
}
else{
echo "sorry, you've already voted recently";
}
Так что я создаю переменную сеанса для каждого идентификатора вопроса, который содержит time()
их последнего голосованияЯ бы сделал это с файлами cookie, но их можно отключить.
В настоящее время где-то есть ошибка с моей логикой, поскольку она позволяет пользователю продолжать нажимать кнопку и добавлять столько голосов, сколько они захотят.
Может кто-нибудь увидеть ошибку, которую я сделал?