码迷,mamicode.com
首页 > 其他好文 > 详细

session统计在线人数

时间:2015-01-06 13:40:57      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

/*
* 当不涉及验证码的时候
*/

//统计游客(未登录)人数

$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统计在线人数

标签:

原文地址:http://www.cnblogs.com/zhgblog/p/4205678.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!