订阅本栏目 RSS您所在的位置: 深山工作室 > ASP > 正文

asp防止多个后台用户同时登陆

深山工作室 2014/5/20 14:31:43 深山 字体: 浏览 3868
 表usr,用来存放注册用户的资料
字段id '用户ID
字段name '用户名
字段pass '密码
 
表online,用来记录用户在线登陆情况,为了简单我只建立三个字段
字段oid '自动编号
字段oname '用户名
字段odata '记录活动时间(一开始是登陆时间)
 
现在我们建立登陆页login.asp
<%
if request("aciton")="chklog" then
dim rs,name,pass
name=trim(request.form("name"))
pass=trim(request.form("pass"))
if name="" or pass="" then
response.write("<script>alert('用户名,密码都不能为空!');history.go(-1)</script>"
response.end
else
'先查询用户名是否为注册用户
set rs=conn.execute("select * from usr where name='"&name&"'")
if rs.eof and rs.bof then '如果为空则提示错误
rs.close:set rs=nothing '随手关闭对象,释放资源是个好习惯
response.write("<script>alert('没有该注册用户!');history.go(-1)</script>"
response.end
else
if pass<>rs("pass") then '比较密码
rs.close:set rs=nothing
response.write("<script>alert('密码错误!');history.go(-1)</script>"
response.end
else
rs.close:set rs=nothing 
'用户名,密码都没错后,查询该用户名是否已存在于online表中
set rs=conn.execute("select * from online where oname='"&name&"'")
if rs.eof and rs.bof then '如果为空,则说明该用户没有登陆,插入该用户名和当前时间
rs.close:set rs=nothing
conn.execute"insert into online(oname,odata) values ('"&name&"',now())
session("username")=name
session("userpass")=pass
else '不为空说明该用户已登陆,给出提示
rs.close.set rs=nothing
response.write("<script>alert('该用户已登陆,如果你非正常退出,请5分钟后再尝试登陆!');history.go(-1)</script>"
response.end
end if
end if
end if
response.redirect("index.asp") '转到首页
end if
end if
%>
下面html登陆代码略过*******************************************************
 


 
接着我们来写退出页面logout.asp
<% if session("username")<>"" and session("userpass")<>"" then '不为空,先删除online表中的记录
conn.execute"delete from online where oname='"&session("username")&"'"
end if
session("username")=""
session("userpass")=""
response.redirect("index.asp") 
%>
 
 
 
下面开始写最重要的文件了 online.asp
 
<%
dim rs,name
name=session("username")
if name<>"" then '不为空时,则查询online表是否存在该用户名
set rs=conn.execute("select * from online where oname='"&name&"'")
if rs.eof and rs.bof then '为空时插入该用户名记录 
rs.close:set rs=nothing
conn.execute"insert into online(oname,odata) values ('"&name&"',now())"
else '不为空时,则更新该用户活动时间
rs.close:set rs=nothing
conn.execute"update online set odata=now() where oname='"&name&"'"
end if
end if
 conn.execute"delete from online where datediff('s',odata,now())>300" '删除300秒内不活动的用户!
%>  
 
相关阅读
黑色精灵留言板模板
层展开/关闭 - 运动缓冲效果
偏重于汽车租赁服务商建站解决方案
防网页机器人随处发帖
深山行者asp购物网终于上线了
loading图片
IE中奇怪的左右border断线现象
青岛景色旅程
共有0条关于《asp防止多个后台用户同时登陆》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
python
更多>>同类信息
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
asp显示随机密码
通过阿里云服务接口获得ip地址详细信息
iis点开后任务栏上有显示,但是窗口看不到的解决办法
RSA加密解密插件
微软Encoder加密解密函数
更多>>最新添加文章
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
aliyun阿里云续费域名优惠口令(注册、续费都可以使用)
windows7环境下安装配置jdk
python对微信操作要用到这两个库wxpy与itchat
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
DW设置之后更好用 DreamweaverCS编辑GB2312与UTF-8文件在代码视图中点击鼠标错位问题的解决办法
解决国内 github.com 打不开的准确方法
更多>>随机抽取信息
在table中tr的display:block在firefox下显示布局错乱问题
签证系统
uni-app微信小程序获得用户头像与名称
利用Asp里的xmlhttp组件来获取页面内容
CSS光标属性一览表
uni-app微信小程序分享微信好友与分享到朋友圈功能