我在php中遇到了问题,我需要你帮助解决以下问题。比方说,我有两个页面--index.php(用户需要做一些动作)和redeem.php(他生成的代码)。现在,这是它应该如何工作:
现在..我不知道如何解决第一点。我可以基于cookie做到这一点,但是一些“智能”用户可以简单地删除它们:/所以这是毫无意义的。我想最好的方法是使用mysql,但我完全不知道如何抓住完成任务的时间然后使用它,具体取决于用户今天是否完成了他的任务。好的,我希望你能理解所有这一切;请期待你们的一些好建议谢谢! ; - )
答案 0 :(得分:1)
我会创建一个voting_records
表,其中包含user_id
列和vote_datetime
列。要创建新记录:
INSERT INTO `voting_records` (user_id, vote_datetime) VALUES (123, NOW());
检查用户是否在过去24小时内投票:
SELECT (DATEDIFF(NOW(), max(vote_datetime)) < 24*60*60) AS already_voted FROM voting_records WHERE user_id = 123
答案 1 :(得分:1)
您只需保存此特定操作可用的日期,而不是Cookie。 所以你可以做类似
的事情$expireTime = strtotime("+1 day");
有了过期时间,您只需检查当前时间是否大于或等于过期日期:
if (time() >= $expireTime) {
echo "Hey, you already voted!";
} else {
header("Location: /redeem.php");
exit;
}
显然,如果没有一段代码可以开始,我就无法更具体。