很多站长朋友们都不太清楚累计在线时长php,今天小编就来给大家整理累计在线时长php,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php如何利用session和mysql数据库来统计用户在线时常 2、 php中如何统计用户在线时长 3、 php记录用户在线时间如何实现,最好有实现的代码?? 4、 会员在线时间每30分钟给会员积分加1分如何实现?求php代码!!在线等 !!急!! 5、 怎么计算在线时间? - PHP进阶讨论 php如何利用session和mysql数据库来统计用户在线时常您好,很高兴回答您的问题,希望我的回答能帮助到您,蟹蟹
用户在线时长计算,首先,用户登录成功把登录时间以及用户id保存在session中
当用户退出时,当前时间减去登录时间就是用户在线时长
//用户登录
public function dologin(){
$adminname = I("param.adminname","","trim");//用户名
$password = I("param.password","","trim");//密码
$where = "adminname = '{$adminname}' and password = md5('{$password}')";
$data['login_time'] = time();
$is_find = M("users_admin")->where($where)->find();
if($is_find){
$result = M("users_admin")->where($where)->setField($data);
if ($result){
$_SESSION['uid'] = $is_find['id'];
$_SESSION['login_time'] = $data['login_time'];
echo("登录成功");
}
}
}
//用户退出代码
public function logout(){
$login_time = $_SESSION['login_time'];
$now = time();
$line_time = $now-$login_time;
$result = M("users_admin")->where("id = ".$_SESSION['uid'])->setField('line_time',$line_time);
session(null);
echo("成功退出");
}
php中如何统计用户在线时长可以通过session记录。
从创建该用户session(用户登录)到删除其session(用户退出),计算出时间,写入数据库进行统计。
php记录用户在线时间如何实现,最好有实现的代码??我只说个想法,代码我就不写了。
用户打开网页的时候开启一个session或者记录一个cookie用来记录时间,离开的时候再记录一次时间,两者相减就是在线时间了
会员在线时间每30分钟给会员积分加1分如何实现?求php代码!!在线等 !!急!!建议用cookies
用户每次登陆后,修改cookies中的登陆时间
登陆以后在页面最外面一层框架上写一个AJAX函数,每2分钟(时间越长精确不高,时间越短对服务器负荷也大)去修改一次登陆累计时间。
当满足大于30分钟的时候就更新积分。更新后把登陆时间改为0
--参考部分代码,AJAX函数基本jquery的--
function checkTimeout(){
var date= new Date()
//调用ajax函数
var url="xxx.php"
$.getJSON(url,function(json){
alert( date.getMinutes());
});
}
window.onload = function(){
window.setInterval("checkTimeout()",120000);//1000为一秒
}
怎么计算在线时间? - PHP进阶讨论楼上说的差不多,我再详细说一下:登陆以后你肯定会记录它的session值,可以把它写入到一个保存session的表中,并记录登陆时间,然后其中加上一个标志字段,用来判断其状态,如果用户退出则可以删除其session记录,这样你可以根据时间来判断任意时间段内在线的用户,你可以再自行设置条件,如多长时间没有活动就删除session等,这样我觉得实现应该是比较简单的,这就是一个思路,更详细的你可以扩展想一想。
关于累计在线时长php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于累计在线时长php 累计在线时长已经很长了是多久 王者荣耀的详细内容...