统计在线人数/用户列表

将以下代码另存为online_list.php(保存前注重修改必要的参数)

<?$host="localhost";//mysql的host
$user="root";//mysql的用户名称
$pw="";//mysql的密码
$db="";//mysql数据库名称
$update_time="30";//更新的频率---秒数
session_start();

if(!$_SESSION['name'])session_register("name");

$con=mysql_connect($host,$user,$pw)or die("连接数据库失败");

$now=time();

mysql_select_db($db,$con)or die("错误的数据库$db");

if(!empty($name)){//假如用户已经登入了

$query=mysql_query("select count(username) from online_list where username='$name'",$con);//查询在线到表是否已经有用户的名称

$result=mysql_result($query,0);//查询的结果

if($result!=0){//假如用户已经在在线列表了

@mysql_query("update online_list set second_time='$now' where username='$name'",$con);//更新用户的最后在线时间

}else{//假如用户已经不在在线列表

@mysql_query("insert into online_list(username,userip,online_time,second_time)values('$name','$REMOTE_ADDR','$now','$now')",$con);//新增一个用户到在线列表

}

}

else{//假如用户没有登入

$query=mysql_query("select count(userip) from online_list where userip='$REMOTE_ADDR'",$con);//查询在线到表是否已经有访客的ip 地址

$result=mysql_result($query,0);//查询的结果

if($result!=0){//假如访客的ip地址已经在在线列表了

@mysql_query("update online_list set second_time='$now' where userip='$REMOTE_ADDR'",$con);//更新访客的最后在线时间

}else{//假如用户列表没有访客的ip地址

@mysql_query("insert into online_list(username,userip,online_time,second_time)values('访客','$REMOTE_ADDR','$now','$now')",$con);//新增一个访客到在线列表

}

}

$del_time=$now-$update_time;

@mysql_query("delete from online_list where second_time<$del_time",$con);//删除在$update_time秒内没有动作的用户

?>

时间: 2024-09-20 20:36:34

统计在线人数/用户列表的相关文章

php使用Session和文件统计在线人数_php实例

<?php /* @ PHP 在线人数统计程序 Copyright (c) by Pader 1:25 2009年1月7日 How to use it: <script src="online.php"></script> note: 一般独立在线人数统计程序都是统计在线的IP数,而这并不准确 例如局域网的访问者,比如公司,学校机房和网吧,虽然内网IP不同,但是外网IP都是一样 如果同一个局域网的无论多少人人访问你的网站则只被认为是一个人 这个小巧的程序解

PHP如何统计在线人数

统计|在线|在线人数 在论坛里有人问我如何统计在线人数?我也不知道什么是最好的方法.下面是本站的实现的原理,我把它写出来,供大家参考.这只是我的方法,肯定不是最好的,还希望高手们予以指正. 其实,要真正统计同时在并发在线的人数,是一件不太现实的事,这是因为HTTP协议是种无状态的协议.当客户端向服务器发出一个请求时,服务器会马上建立一个新的TCP/IP连接,在该会话结束后,如页面完全载入后,这个连接就关闭了.一般来说,在线人数指的定是在一定时间段内同时访问站点的人数,而不是基于HTTP协议的并发

如何统计在线人数

  在论坛里有人问我如何统计在线人数?我也不知道什么是最好的方法.下面是本站的实现的原理,我把它写出来,供大家参考.这只是我的方法,肯定不是最好的,还希望高手们予以指正. 其实,要真正统计同时在并发在线的人数,是一件不太现实的事,这是因为HTTP协议是种无状态的协议.当客户端向服务器发出一个请求时,服务器会马上建立一个新的TCP/IP连接,在该会话结束后,如页面完全载入后,这个连接就关闭了.一般来说,在线人数指的定是在一定时间段内同时访问站点的人数,而不是基 于HTTP协议的并发连接数. 让我们

一个实用的FSO-实时统计在线人数

fso|统计|在线|在线人数 count.asp: <%Server.ScriptTimeout=300 id=Trim(Request.QueryString("id")) fc=Trim(Request.QueryString("fc")) if fc="" then fc="FFFF00" bg=Trim(Request.QueryString("bg")) if bg=""

jsp利用application统计在线人数的方法

 这篇文章主要介绍了jsp利用application统计在线人数的方法,代码中备有较为详尽的注释便于理解,是比较实用的技巧,需要的朋友可以参考下 本文实例讲述了jsp利用application统计在线人数的方法.分享给大家供大家参考. 具体实现方法如下: 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String pat

统计人数-ASP.NET怎么样不通过session统计在线人数

问题描述 ASP.NET怎么样不通过session统计在线人数 我们家网站sessionmode是StateServer,不会进入Session_end方法,现在客户要求做一个统计在线人数的功能,该怎么做?? 解决方案 建立一个数据库表,记录sessionid和开始时间,session_start的时候表中写入sessionid和开始时间,并且执行下删除语句(开始时间大于30分钟的记录,这个间隔自己定了),然后更新下application计数. 用户每次访问页面的时候更新sessionid对应的

portlet关于统计在线人数的问题

问题描述 portlet关于统计在线人数的问题jsp中是实现HttpSessionListener接口,portlet中怎么不行呢,还是另有别的接口?我的wps是5.1的,经测试登陆的用户可以记录,代码如下privatestaticintactiveSessions=0;/***@seejavax.servlet.http.HttpSessionListener#sessionCreated(javax.servlet.http.HttpSessionEvent)*/publicvoidsess

PHP实现统计在线人数功能示例_php技巧

本文实例讲述了PHP实现统计在线人数的方法.分享给大家供大家参考,具体如下: 我记得ASP里面统计在线人数用application 这个对象就可以了.PHP怎么设计? PHP对session对象的封装的很好,根据HTTP协议,每个范围网站的访客都可以生成一个唯一的标识符 echo session_id(); //6ed364143f076d136f404ed93c034201<br /> 这个就是统计在线人数的关键所在,只有有这个session_id 也就可以区分访问的人了.因为每一个人都不同

jsp统计在线人数的问题

问题描述 最近才开始学jsp,按照书上的例子编写一个基于jspsqlserver的bbs遇到下面的问题使用类来统计在线人数,类文件编译通过.但是在线人数一直显示为0.这是为什么?以下是源码Session_Counter.javapackagecom.ch9;importjavax.servlet.*;importjavax.servlet.http.*;publicclassSession_CounterimplementsHttpSessionListener{privatestaticint