zoukankan      html  css  js  c++  java
  • [转]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
  • 相关阅读:
    System.Web.Security下提供了非常简单的MD5加密算法,但处在非Web层的项目要怎么使用MD5加密呢?
    切换用户账户访问共享 记
    从盛大通行证上摘下来的身份证验证代码
    HA_Xenu1.3.6 使用手记
    asp.net跨域共享session(不能跨主机名)
    应用程序池自动关闭
    忘记 win2003 密码 记
    Ajax 入门 【学习手记】
    转载 防盗链
    超链接的 target
  • 原文地址:https://www.cnblogs.com/Athrun/p/1827975.html
Copyright © 2011-2022 走看看