首页 > 代码库 > session统计在线人数
session统计在线人数
/*
* 当不涉及验证码的时候
*/
//统计游客(未登录)人数
$map = array(‘session_expire‘=>array(‘gt‘,NOW_TIME),‘session_data‘=>array(‘eq‘,‘‘));$youke = D(‘Session‘)->where($map)->count();dump($youke);
//统计会员(已登录)人数
$map = array(‘session_expire‘=>array(‘gt‘,NOW_TIME),‘session_data‘=>array(‘neq‘,‘‘));$huiyuan = D(‘Session‘)->where($map)->count();dump($huiyuan);
//统计在线总人数
$map = array(‘session_expire‘=>array(‘gt‘,NOW_TIME));$inline = D(‘Session‘)->where($map)->count();dump($inline);
//在用户表增加sessionid字段,记录登录sessionid,判断一个用户是否在线
$session_id = session_id();$map = array(‘session_id‘=>$session_id,‘session_expire‘=>array(‘gt‘,NOW_TIME),‘session_data‘=>array(‘neq‘,‘‘));$res = D(‘Session‘)->where($map)->find();if($res)dump(‘该用户在线。‘);else dump(‘该用户不在线。‘);
//验证码也会存入session,所以我们判断的时候,就不能值统计有值的记录了。
//需要先获取有值的数据,再判断里面有没有保存用户信息的参数名。虽然session_data字段是用二进制存储的,但是查询出来就是一个字符串。
//session(‘user‘,$data);//用户登录信息
//获取真实会员数
//查询有值的session记录
$list = D(‘Session‘)->where(array(‘session_data‘=>array(‘NEQ‘,‘‘),‘session_expire‘=>array(‘gt‘,NOW_TIME)))->select();dump($list);//判断值里是否有会员标识$count=0;foreach($list as $k=>$value){if(strpos($value[‘session_data‘],‘user‘)){$count++;}}dump($count);//真实会员人数
session统计在线人数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。