网络编程
位置:首页>> 网络编程>> Asp编程>> asp实现在线人数统计代码

asp实现在线人数统计代码

 来源:asp之家 发布时间:2008-08-10 18:35:00 

标签:在线,人数,统计,asp

本来在网上有不少关于这方面的文章,可是我找了好久也没看到把(可能我的搜索水平有线把)不过倒是聊天室的很多。

如何统计会员再线状态,希望对刚开始接触asp的人有所帮助。

基本思路:

用户第一次登陆网站的时候查看有没有人在线,如果有但是他最后一次修改time字段的时间和当前时间比较大于10分钟那么删除纪录,同时在onlie表中插入数据,插入数据包括,他的name,ip,和他的所在页面,和纪录生成时间。

然后在他每次访问页面的时候都更新time时间,这样可以判断你的动作(是否在线),这样不同的循环执行删除、插入、修改,就可以统计再线人数了。

不知道大家可否明白(本人语言能力表达不好)。

1---〉我们最开始的时候在数据库中建一个onlie表格一个

包括字段如下 id,name,time,ip

2---->程序部分

<% 
dim duration,rsd,sql
duration=600
sql="select time from online"
set rs1=conn.execute(sql)
while not rs1.eof
if datediff("s",rs1("time"),now())>=duration then
sql="delete * from online where time=#"&rs1("time")&"#"
'response.Write(sql)
conn.execute(sql)
end if
rs1.movenext
wend

以上部分是对online中有的人作比较,如果10分钟没有动静,将删除表中的用户。

sql="select username from online WHERE username='"&session("name")&"'"
set rs2=conn.execute(sql)
if not rs2.eof then
sql="update online set [time]=#"&now()&"#,url='"&request.ServerVariables("URL")&"' where username='"&session("name")&"'"
else
sql="insert into online(username,ip,url,class,zuanye) values('"&session("name")&"','"&request.ServerVariables("REMOTE_ADDR")&"','"&request.ServerVariables("URL")&"','"&session("class")&"','"&session("zuanye")&"')"
end if
'response.Write(sql)
conn.execute(sql)

这里判断用户是否为第一次登陆本网站,如果是那么在online中生成再线纪录,如果不是,那么直接修改时间。

dim sql_online,rs_online
set rs_online=server.CreateObject("adodb.recordset")
sql_online="select * from online"
'response.Write(sql_online)
rs_online.open sql_online,conn,1,1
%>

再每页调用就行了。 

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com