• [转]php统计在线人数


    CREATE TABLE `user_online` ( 
    `session` 
    varchar(100NOT NULL default ''
    `time` 
    int(11NOT NULL default '0' 
    ) TYPE
    =MyISAM;
    代码
    <?php 
    session_start(); 
    $session=session_id(); 
    $time=time(); 
     
    //$time_check用于检测是否超时 
    $time_check=$time-600//设置时间10分钟=10*60秒 
     
    $host="localhost"// 主机名 
    $username="root"// Mysql u用户名 
    $password="123456"// Mysql 密码 
    $db_name="test"// 数据库 名 
    $tbl_name="user_online"// 表格名 
     
    // 连接到服务器并选择数据库 

    mysql_connect("$host", "$username", "$password")or die("无法连接mysql服务"); 
    mysql_select_db("$db_name")or die("无法选择数据库"); 
     
    $sql="SELECT * FROM $tbl_name WHERE session='$session'"
    $result=mysql_query($sql);//执行查询 
     
    $count=mysql_num_rows($result); 
     
    //检查指定的session是否存在,否则插入记录 
    if($count=="0"){ 
    //指定的session不存在 
    $sql1="INSERT INTO $tbl_name(session, time)VALUES('$session', '$time')"
    $result1=mysql_query($sql1);//执行插入 
    }else { 
    $sql2="UPDATE $tbl_name SET time='$time' WHERE session = '$session'"
    $result2=mysql_query($sql2);//如果存在则修改连接时间 

     
    $sql3="SELECT * FROM $tbl_name"
    $result3=mysql_query($sql3); 
     
    $count_user_online=mysql_num_rows($result3);//统计session次数决定在线人数 
     
    echo "在线人数 : $count_user_online "
     
    //删除超时的session记录,10分钟之前连接的用户视为超时过期 
    $sql4="DELETE FROM $tbl_name WHERE time<$time_check"
    $result4=mysql_query($sql4); 
     
    mysql_close(); 
     
    // 打开多个浏览器页面测试下 
    ?>
    轉自:http://hi.baidu.com/fanglor/blog/item/55eb194bbb9026fc83025c5c.html
  • 相关阅读:
    面试(5)
    面试(五)
    面试(4)
    面试(四)
    面试(三)
    面试(2,3)
    利用session控制 长时间未操作自动退出登录
    一次性清除所有session
    动态引进js文件
    Vue--findIndex方法的使用原理
  • 原文地址:https://www.cnblogs.com/Athrun/p/1827975.html
Copyright © 2020-2023  润新知