php基于登陆时间判断实现一天多次登录只积分一次功能示例
2017-10-28 10:57
435 查看
在网上找了很多的案例,感觉都差不多,有的还比较的繁琐,就自己尝试了一下,如何实现这个功能
实现这个功能我在数据表里面增加了一个字段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相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- php实现一天多次登录,只积分一次功能
- jmeter 实现登录一次,多次操作登录后的某一个功能
- PHP实现的注册,登录及查询用户资料功能API接口示例
- php 实现微信模拟登陆、获取用户列表及群发消息功能示例
- php基于SQLite实现的分页功能示例
- PHP实现的登录页面信息提示功能示例
- PHP使用Curl实现模拟登录及抓取数据功能示例
- 实现新浪微博授权一次、多次登录的功能
- PHP基于堆栈实现的高级计算器功能示例
- AngularJS基于http请求实现下载php生成的excel文件功能示例
- PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
- php实现登陆模块功能示例
- PHP简单实现单点登录功能示例
- PHP基于数组实现的堆栈和队列功能示例
- 基于PHP实现用户注册登录功能
- PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
- 基于PHP实现用户注册登录功能
- PHP简单实现模拟登陆功能示例
- php实现微信模拟登陆、获取用户列表及群发消息功能示例
- php实现的SSO单点登录系统接入功能示例分析