我使用母版页和子页实现的一个网站,母版页中有很多链接,我的需求是点击母版页中的连接session不变,而关闭页面时清除session。目的是实现一个账户不能同时登陆这个网站,如果大家有什么好的解决方案,还请求不吝赐教,谢谢!
加一个字段,登陆时检测该字段,如果这个字段为1表示已经登陆,则不能登陆
如果为0则可以登入。
可以定时发信号给帐号,如果没有回音,则表示非正常推出,把字段改成0
这个用户体验性好像不太好,我主要是想通过session或application来实现但是这个即时性不是很好
这个是只限用户正常退出的情况吧
楼上楼上正解:在登陆用户表中加一个字段,记录用户的登陆状态,可以用0,1表示也可以用true,false。陆时,检测字段,判断已登录提示已登录;判断未登录,修改登陆状态字段,用户登录。登出同理。
坐等新的答案
但是如果用户直接关闭浏览器或页面而不是通过退出按钮退出的话,数据就无法更新到数据库了吧
@xiaoyaner: 不用的是.NET我不是很清楚JSP和你的是不是一样。
在JSP下,JavaScript 下有个onbeforeunload()事件,此事件是在关闭浏览器操作之前的一个事件,应该可以采用异步想后台更新登陆状态。话说你不说我还真不知道有这么个东西,我也是去网上查的,w3c中我多没找到,不知道详细细节,去网上看了,按网上的例子,写了个简单的jsp测试测试例子是可以用的,但是我看了下,只有Firefox和ie支持,我用的IE6其他的没看,360安全和极速多不行,还有opera也不行。我看了几篇文章也没细看,试了下确实有这功能,但是不知道你用asp怎么做。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>123</title> </head> <script> function checkLeave(){ alert('hello'); } </script> </head> <body onbeforeunload="checkLeave();"> </body> </html>
相关的几个资料自己看下,http://hi.baidu.com/joymood/item/51d61b3abe7139ffdf222153
http://www.cnblogs.com/leochu2008/articles/1048174.html
若不行可以看下onunload()可以试试~
关注下,也不懂