每24小时访问一次网站

时间:2013-06-24 13:51:54

标签: php mysql

我在php中遇到了问题,我需要你帮助解决以下问题。比方说,我有两个页面--index.php(用户需要做一些动作)和redeem.php(他生成的代码)。现在,这是它应该如何工作:

  • 用户每天只能执行一次任务(),如果任务已经完成,则会显示正确的消息
  • 完成任务后,可以访问redeem.php(✔ - 完成)
  • 如果用户没有投票(✔ - 完成)
  • ,redeem.php应该有一些保护

现在..我不知道如何解决第一点。我可以基于cookie做到这一点,但是一些“智能”用户可以简单地删除它们:/所以这是毫无意义的。我想最好的方法是使用mysql,但我完全不知道如何抓住完成任务的时间然后使用它,具体取决于用户今天是否完成了他的任务。好的,我希望你能理解所有这一切;请期待你们的一些好建议谢谢! ; - )

2 个答案:

答案 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;
}

显然,如果没有一段代码可以开始,我就无法更具体。