在ASP中如何防止同时登陆

文章关键字:|ASP|登陆|数据库|

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

  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对象里的某项

  2、数据库+asp

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

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

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

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

  数据库建好后直接向users表中手动添加数据 userName表添加TOL8,userPass表里添加111,下面来做用户登陆界面,复制下面代码存成onlyLogin.asp文件。

以下为引用的内容:

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <title>禁止同一账号不同地区同时登陆</title>
 </head>
 <body>
  <form name="form1" method="post" action="loginPost.asp">
   用户名:<input name="userName" type="text" id="userName" size="15" maxlength="5">
   密码:<input name="userPass" type="password" id="userPass" size="15" maxlength="15">
   <input type="submit" name="Submit" value="Login">
  </form>
 </body>
</html>

  完成后在新建一个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 %>

  下面做一个loginPost.asp文件也存在这个目录下,这是关键,仔细看下面的代码:


未完,原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9183
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值