php实现每天积分加一的方法:1、在数据表里增加一个字段logintime;2、使用一天中的零时零分零秒和上一次的登录时间进行比较;3、通过“if($lastLogintime < $today) {…}”实现积分增加即可。
本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。
php怎么实现每天积分加一?
php实现一天多次登录,只积分一次功能:
在网上找了很多的案例,感觉都差不多,有的还比较的繁琐,就自己尝试了一下,如何实现这个功能
实现这个功能我在数据表里面增加了一个字段logintime,表示最后一次的登录时间,然后使用一天中的零时零分零秒和上一次的登录时间进行比较,如果上一次的登录时间大于了这个时间点表示已经登陆过,如果上一次的登录时间小于了这个时间点,则表示第一次登录,增加积分
上代码:
// 判断是否是一天中第一次登录// 上一次登陆的时间$lastLogintime = $userinfo[\’logintime\’];// 一天中的零时零分零秒$today = strtotime(date(\’Y-m-d\’));if($lastLogintime < $today) { // 一天中第一次登录增加积分(关联更新) // 注意:使用关联更新数据的时候需要传递两次id $data[\’id\’] = $userinfo[\’id\’]; $data[\’userinfo\’] = array( \’points\’ => $userinfo[\’points\’] C(\’LOGIN\’), ); $user->relation(true)->where(array(\’id\’=>$userinfo[\’id\’]))->save($data);}
需要注意的是还要修改登录时间:
// 更新登录时间和登录ip$updateData = array( \’id\’ => $userinfo[\’id\’], \’userinfo\’ => array( \’logintime\’ => time(), \’loginip\’ => getIP(), ),);$user->relation(true)->where(array(\’id\’=>$userinfo[\’id\’]))->save($updateData);
推荐学习:《PHP视频教程》
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码官网:www.west.cn