三度网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

asp完成在线人数

时间:2024/6/13作者:未知来源:三度网教程人气:



前两天有网友问到这个问题,我这里来回答一下。
从逻辑上说,这个问题很简单。那就是来一个用户,在线人数加一,离开一个用户,在线人数减一。
现在首先需要解决的问题是如何知道用户的进入和增加。

在asp中,用户进入访问页面的时候,会触发一个事情,事件名称是session_onstart,在离开的时候(准确地说,是在一定的时间内没有访问页面数据,缺省的时间是20分钟),也会触发一个事件,事件的名称是session_onend。我们可以在global.asa文件中定义这两个事件所执行的操作。

接下来我们需要考虑的问题是,如何让这个变量对于所有的人都是一样的(废话,不一样那一定不准确)。因此,我们首先想到的就是把在线人数放在一个application变量里。

到这里,我们需要解决的问题都已经解决了,下面来看看代码:
sub session_onstart
application.lock
application("onlineusers")=application("onlineusers")+1
application.unlock
end sub

sub session_onend
application.lock
application("onlineusers")=application("onlineusers")-1
application.unlock
end sub
在这里有一个小小的问题,那就是,如果用户是第一个访问者,由于在线人数变量没有初始化,所以会出现错误的提示。要想解决这个问题,我们需要加上初始化该变量的代码:
if isempty(application("onlineusers")) then
application("onlineusers")=1
end if
修改后的代码如下:
sub session_onstart
application.lock
if isempty(application("onlineusers")) then
application("onlineusers")=1
else
application("onlineusers")=application("onlineusers")+1
end if
application.unlock
end sub

sub session_onend
application.lock
application("onlineusers")=application("onlineusers")-1
application.unlock
end sub
把上面的代码保存为global.asa,保存在web应用程序根目录下(必须在根目录下),然后在页面的合适位置中使用<%=application("onlineusers")%>就可以了。

关键词:  asp完成在线人数





Copyright © 2012-2018 三度网教程(http://www.3du8.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版