加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php基于登陆时间判别实现一天多次登录只积分一次功能示例

发布时间:2023-10-06 11:47:28 所属栏目:PHP教程 来源:
导读:本文实例讲述了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); 
这样就实现了这个功能.

 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章