登录

用户名:

密码:
一种简单的在线人数统计方案     
作者:nsr131421
发部日期:Wed, 01/10/2007
<!--- 设置在线过期时间周期 --->
<cfset timePeriod = 120>
<!--- 判断是否已经存在onLineUser的结构类型 ---
<cfif not isdefined("Application.onLineUser")>
  <cfset Application.onLineUser = structNew()>
</cfif>
<!--- 设置用户最后的操作是当前时间,记录访问页面及远程IP地址 --->
<cfset session.lastAct = now()>
<cfset session.REMOTE_ADDR = REMOTE_ADDR>
<cfset session.SCRIPT_NAME = SCRIPT_NAME>
<!--- 循环查找是否有过期的在线用户变量,如果有则删除 --->
<cfloop list="#StructKeyList(Application.onLineUser)#" index="i">
  <cfif datediff("s",evaluate("Application.onLineUser.#i#.lastAct"),now()) gt timePeriod>
    <cfset StructDelete(Application.onLineUser,i)>
  </cfif>
</cfloop>
<!--- 设置用户的Session值 --->
<cfset "Application.onLineUser.#session.sessionid#" = session>
<!--- 统计结构变量中的总数,即用户在线人员 --->
<cfset onLineUserNum = StructCount(Application.onLineUser)>
最后更新:Wed, 01/10/2007