asp论坛在线人数统计研究

2018-09-06 11:59

阅读:341

  1。建立数据库表
表名为online
设如下字段
id用来记录每一个访问都的session.sessionid
name如果是访客,则记录为访客。
online如果是访各为0如果是会员1
datetime最近活动时间
username会员的登录用户名,访客为空。
ip记录访问都的登录IP

head.asp向数据库表写入在线人数,该页面必须搜入到每一个用于浏览ASP页面中。


<%
setrs=Server.CreateObject(ADODB.Recordset)
ifsession(username)=then判断用户未登录
sql=select*fromonlinewhereid=&session.sessionid&判断这个sessionid是否存在于数据库表中.
rs.Opensql,Conn,1,3
ifrs.eofthen访客第一次浏览
rs.addnew
rs(id)=session.sessionID
rs(name)=游客
rs(online)=00表示用户未登陆,是游客身份
rs(datetime)=now()
userip=Request.ServerVariables(HTTP_X_FORWARDED_FOR)
Ifuserip=Then
userip=Request.ServerVariables(REMOTE_ADDR)
endif
rs(ip)=userip
else访客非第一次浏览


rs(datetime)=now()更新活动时间
rs.update
rs.close
endif
else
sql=select*fromonlinewhereid=&session.sessionID&oradmin=&session(username)&判断sessionid或者用户名记录已存在数据表中。
rs.Opensql,Conn,1,3
ifrs.eofthen
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)
Ifuserip=Then
userip=Request.ServerVariables(REMOTE_ADDR)
endif
rs(ip)=userip
else//会员非第一次浏览网站,访客登录网站。
rs(name)=session(show)更新用户昵称
rs(username)=session(username)
rs(online)=1表示用户已经登陆,是会员身份
rs(datetime)=now()
endif
rs.update
rs.close
endif
setrs=nothing
%>
conn.execute(deletefromonlinewheredatediff(s,datetime,now())>60)删除60秒没有活动的访客,时间可以自己调整。




评论


亲,登录后才可以留言!