主题:  我到处都找不到解决方法,急!!!!!!!

小飞雁2

职务:普通成员
等级:1
金币:0.0
发贴:39
#12003/9/2 2:07:43
各位大哥,我是个菜鸟
我的聊天室是借用尚俊杰老师的代码,可是不能根据在线人数自动刷新,比如原来显示3人在线,现在我进入聊天室,变成4人在线,但当我离开聊天室后,仍然显示4人在线,如此累加,有时显示几百人在线,导致许多客人感觉聊天室很多人,但进去后却没人回应的局面,影响很不好,有朋友提到session的timeout,可是session的timeout在哪里呢?
还是需要自己编写语句,那么语句怎样的格式和插入的位置是怎样的,请指教
后面是源代码:
首页源代码
<html>
<head>
<title>野战地丛林交流区</title>
<script language="javascript">
<!--
function check_null(){
if (document.form1.user_name.&#118alue==""{
alert("昵称不能为空!";
return false;}
return true;
}
// -->
</script>
<link rel="stylesheet" href="butten.css" type="text/css">
</head>
<body bgcolor="#663300" >
<h2 align="center">野战地丛林地带</h2>

现在共有<%=Application("user_online"%>人在线




<form method="post"action="chat.asp" name="form1" onsubmit="javascript: return check_null();">
请输入昵称
<input type="text" name="user_name" size="10" class="textfield2">

<input type="submit" value=" 进 入 " class="kuang">
</form>

</body>
</html>

其中exit.asp是这样的(用的Application语句):
<%
'下面几句返回离开者信息
Dim sayStr
sayStr="来自" & Request.ServerVariables("Remote_Addr"& "的" '来访者IP地址
sayStr=sayStr & "" & session("user_name" & "" '来访者呢称
sayStr=sayStr & "于" & time & "高兴而去" '来访时间
sayStr="<font color='red'>" & sayStr & "</font>" '红色显示

'下面几句将来访信息保存到application中
Application.Lock '先锁定
Application("show"= sayStr & "
" & Application("show"
Application("user_online"=Application("user_online"-1 '在线人数减1
Application.Unlock '解除锁定

Response.Redirect "index.asp" '重定向回首页
%>

编辑历史:[此帖最近一次被 allinhands 编辑过(编辑时间:2006-01-02 12:44:37)]


zkkpkk

职务:普通成员
等级:1
金币:0.0
发贴:3
#22006/1/1 13:01:47
我聊天室用的global.asa文件是这样的:
<script language="vbscipt">
sub application_onstart()
application("sum"=0
end sub
sub session_onstart()
session.timeout=1
application("sum"=application("sum"+1
end sub
sub session_onend()
application("sum"=application("sum"-1
end sub
</scirpt>
global.asa是个可选文件,名字&扩展名都不能改,保存在聊天室的同级目录下自动起作用,在显示人数的ASP文件里加入<%=application("sum"%>就可以了,我也是个菜鸟刚学没多久,也不知道能不能帮你解决 。



zkkpkk

职务:普通成员
等级:1
金币:0.0
发贴:3
#32006/1/1 13:03:32
该死的转换,应该是这样:
<script language="vbscipt">
sub application_onstart()
application("sum")=0
end sub
sub session_onstart()
session.timeout=1
application("sum")=application("sum")+1
end sub
sub session_onend()
application("sum")=application("sum")-1
end sub
</scirpt>
global.asa是个可选文件,名字&扩展名都不能改,保存在聊天室的同级目录下自动起作用,在显示人数的ASP文件里加入<%=application("sum")%>就可以了,我也是个菜鸟刚学没多久,也不知道能不能帮你解决 。



zkkpkk

职务:普通成员
等级:1
金币:0.0
发贴:3
#42006/1/2 20:09:38
我想你还是用global.asa来处理吧。既然都喜欢这个,加我QQ一起进步。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#52006/1/2 21:32:24
两年半前的帖子.楼主现在不知道在那个国家了.就不要再回复了.