首页 >后端开发 >PHP问题 >php怎么实现每天积分加一

php怎么实现每天积分加一

藏色散人
藏色散人原创
2021-12-16 09:43:181515浏览

php实现每天积分加一的方法:1、在数据表里增加一个字段logintime;2、使用一天中的零时零分零秒和上一次的登录时间进行比较;3、通过“if($lastLogintime < $today) {...}”实现积分增加即可。

php怎么实现每天积分加一

本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。

php怎么实现每天积分加一?

php实现一天多次登录,只积分一次功能:

在网上找了很多的案例,感觉都差不多,有的还比较的繁琐,就自己尝试了一下,如何实现这个功能

实现这个功能我在数据表里面增加了一个字段logintime,表示最后一次的登录时间,然后使用一天中的零时零分零秒和上一次的登录时间进行比较,如果上一次的登录时间大于了这个时间点表示已经登陆过,如果上一次的登录时间小于了这个时间点,则表示第一次登录,增加积分

上代码:

// 判断是否是一天中第一次登录
// 上一次登陆的时间
$lastLogintime = $userinfo[&#39;logintime&#39;];
// 一天中的零时零分零秒
$today = strtotime(date(&#39;Y-m-d&#39;));
if($lastLogintime < $today) {
    // 一天中第一次登录增加积分(关联更新)
    // 注意:使用关联更新数据的时候需要传递两次id
    $data[&#39;id&#39;] = $userinfo[&#39;id&#39;];
    $data[&#39;userinfo&#39;] = array(
        &#39;points&#39; => $userinfo[&#39;points&#39;] + C(&#39;LOGIN&#39;),
    );
    $user->relation(true)->where(array(&#39;id&#39;=>$userinfo[&#39;id&#39;]))->save($data);
}

需要注意的是还要修改登录时间:

// 更新登录时间和登录ip
$updateData = array(
    &#39;id&#39; => $userinfo[&#39;id&#39;],
    &#39;userinfo&#39; => array(
        &#39;logintime&#39; => time(),
        &#39;loginip&#39; => getIP(),
    ),
);
$user->relation(true)->where(array(&#39;id&#39;=>$userinfo[&#39;id&#39;]))->save($updateData);

推荐学习:《PHP视频教程

以上是php怎么实现每天积分加一的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn