数据读取中...
 您当前位置:惠州维修 -> 网络-> asp技术交流 文章搜索:  
一种用asp在线统计登陆人数的方法
作者:转载 来源:惠州维修
日期: 2004-10-6
放大字体显示 缩小字体显示 打印文章 推荐给朋友
    本来在网上有不少关于这方面的文章,可是我找了好久也没看到把(可能我的搜索水平有线把)不过倒是聊天室的很多。 
如何统计会员再线状态,希望对刚开始接触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 
%> 

再每页调用就行了。 
文章页数:[1] 
帮助你我他: 1.我有问题请教 2.我要投稿>>>
更多相关资料搜索:
热点文章
最新文章
相关文章
版权申明:除部分特别声明不要转载,或者授权本站独家播发的文章外,大家可以自由转载本站的原创文章,但原作者和来自本站的链接必须保留(非本站原创的,按照原来自一节,自行链接)。文章版权归本站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去本站水印。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论  打印  刷新  推荐给朋友  返回顶部  关闭

网上大名: