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

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

深山工作室 2014/5/20 14:31:43 深山 字体: 浏览 4135
 表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秒内不活动的用户!
%>  
 
相关阅读
深山旅行社管理系统 v1.8
查询某个字符在字符串中出现的位置数组
利用DateAdd把时间差转换为正常日期格式
深山旅行社网站管理系统5.0发布
拖动效果 封装 已经修改,适应火狐
window7简称win7下可以运行ASP文件,但是不能访问access数据库的解决办法
httpd.ini中的RewriteRule、RewriteCond规则了解以有二级域名解析实例
asp中求两个数的百分比(利用百分比函数FormatPercent就可以自带%的符号)
共有0条关于《asp防止多个后台用户同时登陆》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

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

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
python
更多>>同类信息
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
asp显示随机密码
通过阿里云服务接口获得ip地址详细信息
iis点开后任务栏上有显示,但是窗口看不到的解决办法
RSA加密解密插件
微软Encoder加密解密函数
更多>>最新添加文章
dw里面查找替换使用正则删除sqlserver里面的CONSTRAINT
Android移动端自动化测试:使用UIAutomatorViewer与Selenium定位元素
抖音直播音挂载小雪花 懂车帝小程序
javascript获取浏览器指纹可以用来做投票
火狐Mozilla Firefox出现:无法载入您的Firefox配置文件 它可能已经丢失 或是无法访问 问题解决集合处理办法
在Android、iOS、Windows、MacOS中微信小程序的文件存放路径
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
更多>>随机抽取信息
主流web2.0网站的配色参考方案
网页页面变灰,网页变成黑白色
深山行者留言系统V3.2
长城国际集团有限公司
让DIV固定在浏览器窗口的底部(兼容IE6)
06 iis中Server Application Error问题如何修复