php - 每 24 小时访问一次站点

标签 php mysql

我是 php 初学者,我需要您的帮助来解决以下问题。比方说我有两个页面——index.php(用户需要在其中执行一些操作)和 redeem.php(他生成的代码)。现在,它应该是这样工作的:

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

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

最佳答案

我会创建一个 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

关于php - 每 24 小时访问一次站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17277198/

相关文章:

php - 有没有一种快速的方法可以为所有 CSS 类和 ID 添加前缀?

php - 学说 2.1 : how to set "cascade: persist" using yaml

php - 将返回多个平均值的 SQL 查询

PHP - MYSQL - 插入重复键 AND(?)

MySQL:为什么我需要一个带有 "WHERE id NOT IN(subquery1 UNION subquery 2)"的额外 SELECT

php - 如何获取数据库的内容而不是索引

mysql - SQL 中字段对的首次出现

mysql - 通过消除冗余来压缩 MySQL 查询

PHP循环遍历数组以从数据库中选择

大型表上的 MySQL GROUP BY