当前位置: 主页 > 日志 > PHP >

PHP统计同时在线人数


<?
    /*
    统计同时在线人数
    
    创建统计表的SQL脚本如下:
    CREATE TABLE IF NOT EXISTS `onlineuser` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `ip` char(15) NOT NULL,
  `addtime` datetime NOT NULL,
  `uri` char(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    引用方法:
      当前在线人数<script  type="text/javascript" src="onlineuser.php"></script>人
    */
    
    // 数据库连接参数
    define("MYSQL_SERVER",""); // mysql服务器
    define("MYSQL_USER","");   // mysql用户名
    define("MYSQL_PASS","");     // mysql密码
    define("MYSQL_DB","");       // mysql数据库
    
    // 连接mysql数据库
    $conn=0;
    $conn = mysql_connect(MYSQL_SERVER,MYSQL_USER,MYSQL_PASS);
    if (!$conn)
    {
      die("不能打开数据库连接,错误: " . mysql_error());
    }
    
    // 选择数据库
    mysql_select_db(MYSQL_DB, $conn);
    
    // 设置mysql数据库输出数据的字符集
    mysql_query("set names gbk");
    
    $time_out=1800;
    
    // 删除超时记录
    mysql_query("DELETE FROM onlineuser WHERE (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(addtime))>$time_out",$conn);
    
    //判断当前的IP是否在该表中存在
    $result=mysql_query("SELECT * FROM onlineuser WHERE ip=$REMOTE_ADDR",$conn);
    if ($result && $row=mysql_fetch_array($result)) // 存在
    {
        $id=$row[id];
        
        //设置最后访问时间和访问页面
        mysql_query("UPDATE onlineuser SET addtime=now(), uri=$REQUEST_URI WHERE id=$id",$conn);
    }
    else // 没有,则添加
    {
       mysql_query("INSERT INTO onlineuser VALUES (0,$REMOTE_ADDR, now(), $REQUEST_URI)",$conn);
    }
    
    // 找出(未超时)在线人数
    $result=mysql_query("SELECT COUNT(*) FROM onlineuser",$conn);
    
    if($result && $row=mysql_fetch_array($result))
       echo "document.write(".$row[0].");";
    else
       echo "document.write(0);";
    
    mysql_close($conn);
    exit();
?> 



下载源码:
File: Click to Download

[日志信息]

该日志于 2010-01-30 13:38 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “PHP统计同时在线人数” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部