实现原理是:每次访问aspx文件时候都会判断在线表里面是否有这个用户(已经登录了的记录用户名,没有登录的记录IP地址),如果不存在,则将该用户的身份、最后访问时间、最后访问IP、和最后访问的URL存入数据库。如果数据库中已经曾在,则更新该记录,把最后访问时间,IP以及最后访问URL更新。
同时,删除数据库中与当前时间间隔20分钟以上的数据(20分钟没 *** 作当为超时)。
这样,你不仅仅可以看到当前在线的准确人数,还知道是那些人在线,以及是否登陆,和访问人数中已经是会员的比例,以及所在位置,并计算某个页上的人数。
数据库结构:
字段 类型 长度 说明
1uson_serial int 40 序号
0uson_user varchar 200 用户名(没登陆则为IP)
0uson_ip varchar 200 IP地址
Ouson_dataIn datetime 80 登陆时间
0uson_date_op datetime 80 最后 *** 作时间
0uson_url varchar 1000 最后 *** 作页面路径
<%dim connstr,datapath,conn
datapath="DataBase/数据库.mdb" '数据库路径
connstr="Provider=Microsoft.JET.OLEDB.4.0Data Source=" &Server.mappath(datapath)
Set conn=Server.CreateObject("ADODB.Connection")'建立数据库连接
conn.open connstr '打开数据库连接
SQL="Select * from 表名"
set rs=server.createobject("adodb.recordset") '建立数据集
rs.open SQL,conn,1,3 '打开数据集
rs.AddNew
rs("字段")=Request("name")
rs("字段")=Request("pass")
rs.Update
rs.Close '关闭
Set rs=nothing
conn.Close '关闭
Set conn=nothing
%>
如果还完善不了 HI我
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)