php基于登陆时间判断实现一天多次登录只积分一次功能示例
author:一佰互联 2019-04-25   click:165

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。