首页 > 软件开发 > MYSQL >

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

来源:互联网 2023-03-16 22:57:00 版权归原作者所有,如有侵权,请联系我们

很多初学者,不太知道怎么计算用户的在线时长,下面小编教大家如何统计gIu办公区 - 实用经验教程分享!

工具/原料

  • sublime

方法/步骤

  • 1

    简单制作一个登陆页面(这里我没写任何的css,主要为了实现功能)gIu办公区 - 实用经验教程分享!

    php如何利用session和mysql来统计用户在线时常gIu办公区 - 实用经验教程分享!

  • 2

    接下来是登陆成功跳转页面(这里我没写任何的css,主要为了实现功能)gIu办公区 - 实用经验教程分享!

    php如何利用session和mysql来统计用户在线时常gIu办公区 - 实用经验教程分享!

  • 3

    页面完成之后,设计数据库(如果您还有其它需求自行添加其它字段)gIu办公区 - 实用经验教程分享!

    php如何利用session和mysql来统计用户在线时常gIu办公区 - 实用经验教程分享!

  • 4

    修改php-ini中session自动开启gIu办公区 - 实用经验教程分享!

    如果不自动开启gIu办公区 - 实用经验教程分享!

    每次使用之前就要手动开启gIu办公区 - 实用经验教程分享!

    如果忘记开启就会导致其它页面取不到session的值gIu办公区 - 实用经验教程分享!

    php如何利用session和mysql来统计用户在线时常gIu办公区 - 实用经验教程分享!

  • 5

    //登录代码gIu办公区 - 实用经验教程分享!

    ?phpgIu办公区 - 实用经验教程分享!

    header("Content-type: text/html; charset=utf-8");gIu办公区 - 实用经验教程分享!

    // 创建连接gIu办公区 - 实用经验教程分享!

    $conn = new mysqli("localhost", "root", "root","litong");gIu办公区 - 实用经验教程分享!

    // 检测连接gIu办公区 - 实用经验教程分享!

    if ($conn->connect_error) {gIu办公区 - 实用经验教程分享!

    die("连接失败: " . $conn->connect_error);gIu办公区 - 实用经验教程分享!

    } gIu办公区 - 实用经验教程分享!

    $adminname=$_POST['adminname'];//用户名gIu办公区 - 实用经验教程分享!

    $password=md5($_POST['password']);//密码gIu办公区 - 实用经验教程分享!

    $query = "select * from admin where (adminname = '{$adminname}' && password = '{$password}')";gIu办公区 - 实用经验教程分享!

    $result = $conn->query($query);gIu办公区 - 实用经验教程分享!

    if($result){//判断用户是否存在gIu办公区 - 实用经验教程分享!

    $admin = $result->fetch_assoc();gIu办公区 - 实用经验教程分享!

    $time = time();gIu办公区 - 实用经验教程分享!

    $sql = "update admin set login_time = '{$time}'";//把用户登录时间保存gIu办公区 - 实用经验教程分享!

    $res=$conn->query($sql);gIu办公区 - 实用经验教程分享!

    if ($res){gIu办公区 - 实用经验教程分享!

    //把数据存进session中gIu办公区 - 实用经验教程分享!

    $_SESSION['uid'] = $admin['id'];gIu办公区 - 实用经验教程分享!

    $_SESSION['login_time'] = time();gIu办公区 - 实用经验教程分享!

    header("location:index.php");//登录成功跳转gIu办公区 - 实用经验教程分享!

    }gIu办公区 - 实用经验教程分享!

    }gIu办公区 - 实用经验教程分享!

    ?>gIu办公区 - 实用经验教程分享!

    php如何利用session和mysql来统计用户在线时常gIu办公区 - 实用经验教程分享!

    php如何利用session和mysql来统计用户在线时常gIu办公区 - 实用经验教程分享!

  • 6

    //退出代码gIu办公区 - 实用经验教程分享!

    ?phpgIu办公区 - 实用经验教程分享!

    header("Content-type: text/html; charset=utf-8");gIu办公区 - 实用经验教程分享!

    // 创建连接gIu办公区 - 实用经验教程分享!

    $conn = new mysqli("localhost", "root", "root","litong");gIu办公区 - 实用经验教程分享!

    // 检测连接gIu办公区 - 实用经验教程分享!

    if ($conn->connect_error) {gIu办公区 - 实用经验教程分享!

    die("连接失败: " . $conn->connect_error);gIu办公区 - 实用经验教程分享!

    } gIu办公区 - 实用经验教程分享!

    $login_time = $_SESSION['login_time'];gIu办公区 - 实用经验教程分享!

    $logout_time = time();gIu办公区 - 实用经验教程分享!

    $line_time = $logout_time-$login_time;gIu办公区 - 实用经验教程分享!

    $sql = "update admin set logout_time = '{$logout_time}',line_time='{$line_time}' where id = '{$_SESSION['uid']}'";gIu办公区 - 实用经验教程分享!

    $re = $conn->query($sql);gIu办公区 - 实用经验教程分享!

    if ($re) {gIu办公区 - 实用经验教程分享!

    $_SESSION='';gIu办公区 - 实用经验教程分享!

    echo("成功退出"); print_r($_SESSION);gIu办公区 - 实用经验教程分享!

    }?>gIu办公区 - 实用经验教程分享!

    php如何利用session和mysql来统计用户在线时常gIu办公区 - 实用经验教程分享!

    php如何利用session和mysql来统计用户在线时常gIu办公区 - 实用经验教程分享!

  • 7

    这里我只是把登录时间和退出时间相减(时间戳),没做其它处理,您可以根据需求自行修改在线时间gIu办公区 - 实用经验教程分享!

    php如何利用session和mysql来统计用户在线时常gIu办公区 - 实用经验教程分享!

  • 注意事项

    • 注意数据库连接以及session问题
    • 亲们看见就点赞、评论哦!!!

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!gIu办公区 - 实用经验教程分享!


    标签: PHPMYSQL编程语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号