php如何利用session和mysql数据库来统计用户在线时常

php如何利用session和mysql数据库来统计用户在线时常,第1张

您好,很高兴回答您的问题,希望我的回答能帮助到您,蟹蟹

用户在线时长计算,首先,用户登录成功把登录时间以及用户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("成功退出")

}

这个需要写判断语句,一条SQL语句很难写出来。可用存储过程。

需如:

先得到在线时候一次在线时间多长

logintime 2013-1-1 12:00:00 logouttime 2013-1-5 12:00:00

可以先到得 logouttime - logintime = 总的在线时长

判断 总的在线时长 得到 如果大于24 或者 得到 2013-1-2 0:00:00 - logintime 小于 总的在线时长

2013-1-2 0:00:00 - logintime = 今天在线时长


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7521748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存