标题:[求助]做了一个会员登陆系统,如何限同一用户同时在不同点登陆
只看楼主
floy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-6-5
 问题点数:0 回复次数:5 
[求助]做了一个会员登陆系统,如何限同一用户同时在不同点登陆

做了一个会员登陆系统

如何限同一用户同时在不同点登陆,如:用户Test已经登陆,则该用户无法在其它客户端再行登陆.

搜索更多相关主题的帖子: 不同点 系统 会员 用户 登陆 
2004-06-05 09:37
belin2000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:975
专家分:194
注 册:2004-6-2
得分:0 

我的想法,没有实现的(因为我还没有做过):

在用户数据库里有一字段,是1/0的,1表示登陆了的,0表示没有登陆的,在查用户名和密码的时候同时查这个字段,如果是1,则不能登陆,是0就可以,正常退出就改为0,不正常退出的20分钟改为0,建议参考聊天室!


59ita点com(我就爱TA)
2004-06-05 10:47
好学
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:622
专家分:318
注 册:2004-5-4
得分:0 

是啊,有很多聊天室程序很容易理解的

2004-06-05 15:33
floy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-6-5
得分:0 

tbelin2000

这相我想过,正常退出我已经做过了,没有用数据库是在Global,asa中用全局变量,可是非正常退出怎么做啊?

谁能给出详细代码?谢谢

2004-06-05 15:37
floy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-6-5
得分:0 

login.asp

-------------------------------

UserLoginID = rs("id") 'application("User"&UserLoginID&"")="" if application("User"&UserLoginID&"")="yes" then response.write"<SCRIPT language=JavaScript>alert('用户已经登陆!');" response.write"javascript:history.go(-1)</SCRIPT>" response.end else

Session("cndkzxUserFlag") = True Session("cndkzxUserID") = rs("id") Session("cndkzxUserType") = Rs("UserType") Session("LastInTime") = Rs("LastInTime") AppLication.Lock Application("User"&Session("cndkzxUserID")&"") = "yes" Application.UnLock end if

LogOut.asp

------------------------------------------

Application("User"&Session("cndkzxUserID")&"") = "No" Session("cndkzxUserType") = "" Session("cndkzxUserID") = "" Session("cndkzxUserFlag") = False response.Redirect("index.asp")

可是非正常退出呢?

2004-06-05 15:43
belin2000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:975
专家分:194
注 册:2004-6-2
得分:0 

聊天室关键技术[用户断线]处理

在编聊天室时,处理用户断线是一个刺手的问题,特别是放到免费网站上,如果一味地靠global.asa,什么时候触发 session_onend,application_onend,都是一个不确定的数字,在设计时,合理地安排会带来意想不到的好处。 那么有什么最简便办法处理用户断线呢? 笔者经过试验,有了以下的方法: 聊天室用N个application("user" & N)来保存用户名,再用application("TimeBegin")来保存每个用户的登录时间,同 时,在用户登录时用session("TimerBegin")保存登录时间(timer),在发言区设定刷新时间为N秒,每次刷新将session ("TimeBegin")的时间更新,同时判断timer - application("user"&session(userID)) 是否>N秒,如果是则说明该用户没 有自动刷新,即意味着已经断线,即可将该application("user"&N)设为空值,再提示该用户已退出即可。 部分代码: total = application("AllPeople")'聊天总人数 aryHuman = split(total,";") for i = lbound(aryHuman) to ubound(aryHuman) - 1 if application("user" & i) = "online" then if int(timer) - int(application("TimeBegin" & i)) > 120 then application("user" & i) = "" temp = aryHuman(i) aryName = split(temp,",") hrefname = aryName(0) for j = lbound(aryHuman) to ubound(aryHuman) - 1 if application("user" & j) = "online" then application("content" & j) = "<FONT color=#000000>【公告】"&hrefname&"</FONT>" &"<font color=#F08000 >"& "断线..." & "</font><font color = #000000 class=p9>" & " <" & time() & "></font><br>" & application ("content" & j) end if next end if end if next %>


59ita点com(我就爱TA)
2004-06-06 20:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-2050-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.539431 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved