1,请高手指点一下,asp做聊天室,怎么统计每一个聊天室里面有多少人~(不是整个网站的当前在线)
2,数据库里面有一个判断会员是否在线的字段,"1"为在线"0"为不在线,我在登陆时把字段值修改成"1",可是我不知道怎么在关闭网页时把字段值改成"0"
比较急,会的朋友指点一下,可以加我qq:102637767
1,请高手指点一下,asp做聊天室,怎么统计每一个聊天室里面有多少人~(不是整个网站的当前在线)
2,数据库里面有一个判断会员是否在线的字段,"1"为在线"0"为不在线,我在登陆时把字段值修改成"1",可是我不知道怎么在关闭网页时把字段值改成"0"
比较急,会的朋友指点一下,可以加我qq:102637767
http://bbs.bc-cn.net/bbs/dispbbs.asp?BoardID=10&ID=6540
http://bbs.bc-cn.net/bbs/dispbbs.asp?BoardID=10&ID=15265 看看上面的帖子有没有帮助 聊天室的统计估计用SESSION在GLOBAL里面做就可以了
关于Application变量的解释: Application变量与Session变量的工作原理很相似,只不过Application变量的值对所有用户都是相同的,而Session变量的值对于每一个用户是不同的。一个Session变量值的建立是相对于每一个用户而言的,而Application变量值的建立则是相对于系统而言的,也就是说当系统开始运行是,Application变量就开始被创建。
如果对这些还是有一点模糊,那么请仔细看看下面的代码:
Global.asa
<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Application_OnStart ' 这里运用了Application_OnStart事件
' 在这里定义用户在线有效期的时间 Session.Timeout = 3
' 使用lock方法,防止多个用户同时修改变量值而造成的数据不真实 Application.Lock
' 给变量赋初值:0 Application("WhosOn") = 0
' 对application变量解锁 Application.UnLock End Sub Sub Session_OnStart ' 这里运用了Session_OnStart事件
' 在这里统计在线人数(千万不要忘了使用application变量的lock和 ' unlock方法) Application.Lock Application("WhosOn") = Application("WhosOn") + 1 Application.UnLock End Sub Sub Session_OnEnd ' 这里运用了Session_OnEnd事件
Application.Lock Application("WhosOn") = Application("WhosOn") - 1 Application.UnLock End Sub </SCRIPT>
main.asp
<% response.write "目前有" & Application("WhosOn") & " 位用户在这个页面。"
我遇到的问题,不是统计整个站点的当前在线人数,是要把当前谁在线列出来,关于这个问题我只解决了当用户登录的时候把他的'在线否'这个字段在数据库里面变成1,但是我不知道用什么方法能在他离开时让'在线否'这个字段变成0.......还有一个问题就是,大家都有上过聊天室把,里面对每个聊天室都有统计人数,统计整个网站的用global可以做,但是统计每一个聊天室的房间的人数我就不会了~~~!大家再多给点意见啊~~教我一下~~~
另外一个,好像不能在global里面向数据库里写东西是吗