ASP:求在线/离线/隐身功能实现的最简单方法。

来源:百度知道 编辑:UC知道 时间:2024/05/22 00:52:19
可不可以不用global.asa?
如果必须用的话该怎么做?
备注:10分钟算掉线
放心,各位,绝对不是骗分。
PS:2楼是来搞笑的。
貌似就没人有独特点的思维?

1、数据库用户表中要有一个记录用户活动时间的“日期/时间型”字段;一个记录用户是否隐身的“布尔型”字段;还可以使用一个记录SessionID的“整型”字段来防止同一帐户在不同地方登陆。
2、登陆后把用户名和密码保存到Session,Session失效时间为10分钟。
3、用户每次活动(访问网页)除了进行身份验证外要及时更新用户活动时间字段。
4、查询用户表,取得所有用户活动时间。
用户活动时间<当前时间-10分钟(10分钟内没有活动),则用户为离线。否则用户为在线。
再判断在线用户的是否为隐身字段,如果是则为隐身;否则为正常登陆。
5、用户退出后,将用户活动时间设置为10分钟以前。

不会是骗分吧?

同意这样:
上线和离线,判断session就行了,关于隐身,只要再给用户加一个变量
上线:判断session是否记录,再判断n是否=1
隐身:判断session是否记录,再判断n是否=0
。。。
在数据库中建立一个表,用一个字段标识,然后判断。
在global.asa中做这个。
在index.asp中判断,就行了。
要用上JS处理一下。
JS对处理这个很好用的。
如果能用,用个框架也行。
无边框的框架。
这样一边用global.asa一边用ASP的就能做好这个。

在线 用户登陆时设置一个session
然后初始个session的时间
session.timeout= 你需要的连接超时时间

离线
在线统计检查,如果用户在session.timeout的时间内没活动那就失效了!就没了 然后就显示离线

隐身 登陆的时候用户选择隐身就把这个session 删除就可以了!

觉得可以就给分吧 兄弟 大家都给这么多解释了

判断Session

用户做任何操作的时候在Session下记录操作时间。包括刷新页面时也可以记录。下次刷新页面时先判断是否与上次操作时间间隔10分钟。如果超过10分钟刚离线,不执行将Session记下当前时间的操