1。建立数据库表
表名为online
设如下字段
id '用来记录每一个访问都的session.sessionid
name '如果是访客,则记录为访客。
online
datetime '最近活动时间
username '会员的登录用户名,访客为空。
ip '记录访问都的登录IP
head.asp '向数据库表写入在线人数,该页面必须搜入到每一个用于浏览ASP页面中。
<%
set rs=Server.CreateObject("ADODB.Recordset")
if session("username")="" then 判断用户未登录
sql="select * from online where id='"&session.sessionid&"' "
rs.Open sql,Conn,1,3
if rs.eof then
rs.addnew
rs("id")=session.sessionID
rs("name")="游客"
rs("online")=0
rs("datetime")=now()
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
else
rs("datetime")=now()
rs.update
rs.close
end if
else
sql="select * from online where id='" & session.sessionID & "' or admin='"&session("username")&"'"
rs.Open sql,Conn,1,3
if rs.eof then
rs.addnew
rs("id")=session.sessionID
rs("name")=session("show") '写入用户昵称
rs("username")=session("username")
rs("online")=1
rs("datetime")=now()
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
else
rs("name")=session("show") 更新用户昵称
rs("username")=session("username")
rs("online")=1
rs("datetime")=now()
end if
rs.update
rs.close
end if
set rs=nothing
%>
conn.execute("delete from online where datediff('s',datetime,now())>60")