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

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

深山工作室 2014/5/20 14:31:43 深山 字体: 浏览 3257
 表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获得当前文件的虚拟物理路径
微信公众号回复语音消息或用客服接口推送语音消息
JS自动获取TAGS关键词
asp无限级调用分类显示
JavaScript的40种网页常用小技巧
汽配公司
连云港电子杂志网站
如何彻底卸载电脑里你不想用的软件
共有0条关于《asp防止多个后台用户同时登陆》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

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

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
更多>>同类信息
asp无限级调用分类显示
实现iis6与iis7环境下支持mp4视频随意拖动、预览播放、边下载边播放
做好的网站把http改成https申请SSL域名证书
纯asp根据当前日期计算出当前年份的属相
sql server中前缀为PK、UK、DF、CK、FK表的意思
ASP利用fso读取文件夹里所有文件的名字
更多>>最新添加文章
名扬石化设备
连云港振辉旋膜式除氧器
亿菇缘
消声器
放心会计
汽液两相流
连云港门窗制作
胶球清洗
更多>>随机抽取信息
汽车租赁系统
深山行者留言系统V1.0 (简称深山留言V1.0)
汽液两相流
用户注册时的密码强度提示
07 问题错误整理 程序目录权限 父路径没打开错误
收集的javascript客户端验证函数大全