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

eeeloon 2004-12-27 03:41:15
我在数据库表里设置了用户登录信息的字段,如果登录就更新为1,按退出键则清除 session 表中字段设为0 ,但用户不是按退出键,而是关闭浏览器的,怎样才可以判断该用户已下线同时将登录字段设为0?
...全文
271 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧