我在数据库表里设置了用户登录信息的字段,如果登录就更新为1,按退出键则清除 session 表中字段设为0 ,但用户不是按退出键,而是关闭浏

eeeloon 2004-12-27 03:41:15
我在数据库表里设置了用户登录信息的字段,如果登录就更新为1,按退出键则清除 session 表中字段设为0 ,但用户不是按退出键,而是关闭浏览器的,怎样才可以判断该用户已下线同时将登录字段设为0?
...全文
241 点赞 收藏 19
写回复
19 条回复
eeeloon 2005年01月06日
行拉,我搞掂拉
回复 点赞
zsh211 2005年01月06日
wen1818(冷月孤心) ( ) 信誉:100

你的不可取,如果我在这个网站开了几个窗口,那么我关了其中一个窗口就触发online=false了?欠妥吧 我只是不想看这个页面而已,网站里还有别的信息要看呢~ :)
回复 点赞
wen1818 2005年01月06日
<body onunload="javascript:quit.asp">

加上onunload事件,关闭时会自动跳到quit.asp页面,执行清零后,关闭页面


check.asp
<%
清0代码
response.write("<script language=javascript>window.close()</script>")
%>

回复 点赞
19az 2005年01月06日
直接监听关闭浏览器事件是无法得到的,只能通过Session结束判断,这样做必然存在一定的误差,但是到目前似乎还未发现其它更行之有效的方法,所以说先将就着用吧……

至于你说Session_OnEnd时间中不允许使用Server对象,也就是说服务操作数据库,这个我似乎还没有遇到过,回头帮你瞧瞧,看看能不能通过其它方式解决……
回复 点赞
islandnet 2005年01月06日
办法由的。用appli...和session解决。
记录session。
摄制时间段,
对比session是否等于appli..
等于继续。不等于晴空,并且appli..减去1。
可以参考聊天室程序。很简单。
回复 点赞
zsh211 2005年01月04日
什么啊 没解决啊 顶
回复 点赞
sxd229 2005年01月04日
哦~~~
我刚才试着那样写了下,可以通过的~~~
大头兄这里详细一说我就明白了,
开始我还以为只有在session超时的时候才调用Session_OnEnd,那样不就没法确定当前的
sesion用户了,原来还是可以在Session_OnEnd中确定当前的sesion用户的
谢谢了
回复 点赞
zsh211 2005年01月04日
你们几个说在session_onend中对数据库进行写操作的,自己实践过吗?成功过吗?session_onend里不能用server对象的啊!!!
我为这个问题都困绕了3天了,谁能把这个问题解决了,我把我剩下的140分,加没有结的80分全给他!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复 点赞
hhjjhjhj 2005年01月04日
是的
Session_OnEnd事件中,直接用Session对象,这个Session对象就是正要关闭的那个,并且只能控制那个。
回复 点赞
sxd229 2005年01月04日
在asa中可以这样写吗?(online中是保存登陆用户的表),就是不知道这样可不可以在服务器端执行?
用session.sessionID可以判断吗?

sql="select * from online where username='"&session("username")&"'"
Set rs=Server.CreateObject("ADODB.recordset")
rs.open sql,conn,3,3
rs.delete
rs.update
回复 点赞
sxd229 2005年01月04日
hhjjhjhj(大头)(想变胡萝卜^^)
我想请问一下:那在asa文件中怎样确定超时用户和数据库中用户的对应关系
也就是说超时用户就标记为0,可是怎样对应这个关系呢
回复 点赞
eeeloon 2004年12月27日
如果用cookies记录呢?又应怎样搞掂?
回复 点赞
eeeloon 2004年12月27日
呵呵,能不能详细点啊,刚学
回复 点赞
hackate 2004年12月27日
恩,对了,这个方法只能用SESSIONTIMEOUT来判断了,呵呵!
回复 点赞
Digress 2004年12月27日
同意楼上的,在SUB里把他设为0
回复 点赞
hhjjhjhj 2004年12月27日
那只好等到Session.Timeout时间到了,
Global.asa中写Session_OnEnd代码。
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
Sub Session_OnEnd
. . .
End Sub

</SCRIPT>
回复 点赞
ygjwjj 2004年12月27日
用户10(...)分钟没有反应则认为下线,判断在线时间.
回复 点赞
eeeloon 2004年12月27日
来啊宝贝
回复 点赞
eeeloon 2004年12月27日
upupupupupupupupup
回复 点赞
发动态
发帖子
ASP
创建于2007-09-28

1.9w+

社区成员

35.7w+

社区内容

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区公告
暂无公告