检查用户是否已在过去24小时内登录

时间:2014-08-08 20:23:03

标签: php time timestamp

我目前正在我的网站上开发一个“用户奖励”系统,以奖励给定虚拟货币的活跃用户(例如积分)

我在思考如何实现这一目标时遇到了问题。

我知道我必须比较时间戳,但我不知道何时应该创建基本时间戳,我将把它用作计算的基础。我想我可能没有正确解释我的问题,所以我会以一种简短的方式说:我如何检查用户是否已在过去24小时内登录。何时创建以创建我将用于计算的时间戳。

提前感谢您的所有答案。

我的last_activity

中有一个users

3 个答案:

答案 0 :(得分:0)

您只需在用户每次登录时都存储时间戳。但是如果您想检查他们是否在线,无论他们是否必须登录,您都必须实施时间戳的更新在每一页上。您还应该将最后更新时间存储在用户的cookie中,这样您就不会在每次加载页面时更新,而是每十分钟更新一次或不更新。

答案 1 :(得分:0)

在不知道您的应用程序结构的情况下,很难具体,但有时会更新用户表中的“last_activity”(或类似)字段。然后检查last_activity值是否超过24小时。

添加一些逻辑,以便last_activity每15分钟左右更新一次,并且每次加载页面时都不会额外写入数据库。

答案 2 :(得分:0)

我只是想用这个短手:

OnRegister(在首次登录时无效给出即时积分):

user->lastPoints = now();

OnLogin:

if (user->lastPoints - now > 24h)
{
    if (user->lastPoints - now < 48h)
    {
        user->rewardPoints();
    }
    user->lastPoints = now();
}

希望这是你正在寻找的东西。

相关问题