ASP防止同时登陆的问题,第1张

ASP防止同时登陆的问题,第2张

实现这个功能可有两种方式:

  1。application
  用application对象:如果做的是大型社区,可能要为每个登陆id生成一个appliaction,这样做虽然程序上设计会简单些但登陆用户过多及其耗费服务器资源,这里决不提倡,因为appliaction对象在用户登陆时生成很容易, 但是要做到真正的随着用户退出系统完全释放,到目前还没看到更好的方法~

  <%
  .....取用户名username.....
  if Application(username)<>"" then
  response.write "该用户已经登录"
  response.end
  end if
  Application(username)=username ''存入该用户的用户名
  %>

  在global文件中加上session onend事件,下线时Application("isuserlogin")=false
  此外还要检测是否吊线,有专门的办法,是server对象里的某项

  (参: http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=815)

  2。数据库+asp
  做起来可能会复杂些,但是适合有大量登陆用户的系统。

  首先为用户建立数据库-用access新建一个onlyTOL8.mdb

  数据表1: users 存放用户注册资料
  下设数据表:uID(自动编号) userName(字符型) userPass(字符型)

  数据表2: onlyLogin 存放用户临时登陆信息
  下设数据表: OLname(字符型) OLtime(日期型) OLip(字符型)

  数据库建好后直接向users表中手动添加数据 userName表添加TOL8,userPass表里添加111,

  下面来做用户登陆界面,复制下面代码存成onlyLogin.asp文件。

  
  
  
  禁止同一账号不同地区同时登陆
  
  
  


  用户名:
  密码:
  
  

  
  

  完成后在新建一个loginCONN.asp文件复制下面的代码保存用于连接数据库

  <%
  Dim CONN_TOL8
  Dim Conn_T
  Dim mmdd
  mmdd="onlyTOL8.mdb"
  Set CONN_TOL8 = Server.CreateObject("ADODB.Connection")
  Conn_T="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&mmdd&"")
  on error resume next
  CONN_TOL8.Open Conn_T %>

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » ASP防止同时登陆的问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情