HOME
BBS
深山帮帮欢迎您,您可以注册或者
qq登录只需一步,快速开始
深山旅行社网站管理系统开发完成,欢迎各位网友测试! 点这里测试
565449214 给站长留言
订阅本栏目 RSS您所在的位置: 深山工作室 > ASP学习 > 正文

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

深山工作室 2014-5-20 14:31:43 深山 字体:  浏览 1570 我要评论
 表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秒内不活动的用户!
%>  
 
前一页:检测非法字符
Ads loading...
相关阅读
( 2018-6-21 17:35:47 )ASP操作access或sqlserver数据库的函数库
( 2018-4-16 10:27:32 )asp中Request.ServerVariables能获取的信息整理总结
( 2018-4-13 15:17:02 )sql语句中怎么按照in语句里的id原有的顺序进行排序输出,可以做成浏览记录、查看、观看记录
( 2018-4-10 11:59:10 )通过设置iis的进程池让网站的并发数,性能提升几个档次
( 2018-4-10 11:26:02 )asp通过多次获得来取得用户的真实IP
( 2015-10-5 21:13:57 )windows8的iis7应用程序池标识问题
( 2014-11-15 15:50:32 )深山留言板 v7.0.1 bulid2014.11.15更新
( 2014-9-6 15:48:21 )Dreamweaver在onLoad运行_onOpen.htm时,发生了以下javascript错误
共有0条关于《asp防止多个后台用户同时登陆》的评论
发表评论
正在加载评论……
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 400 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
深山工作室网友评论声明,请自觉遵守互联网相关政策法规。

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

Ads loading...
更多信息>>栏目类别选择
rss学习
个人空间
网站设计
网站公告
下载
photoshop学习
ASP学习
DIV+CSS学习
SEO搜索引擎忧化
java学习
HTML学习
网站信息
网站类信息
更多>>同类信息
批量删除access字段里面fld.Properties.Delete
ASP操作access或sqlserver数据库的函数库
asp中求两个数的百分比(利用百分比函数FormatPercent就可以自带%的符号)
asp利用sql操作数据表、数据库的一些方法
rs操作数据表记录集对象的方法
[转载]中国行政区划数据(省市区街道)
ASP版通过身份证信息获取对应的生日性别年龄
ASP网站打开特别卡 提示:msxml3.dll 错误 '80072ee2' /LM/W3SVC/670931603/Root/global.asa解决办法
Ads loading...
更多>>最新添加文章
批量删除access字段里面fld.Properties.Delete
ASP操作access或sqlserver数据库的函数库
asp采用access数据库搜索信息时因为日文片假名问题提示“Microsoft JET Database Engine 错误80040e14”的解决方法
asp中求两个数的百分比(利用百分比函数FormatPercent就可以自带%的符号)
asp利用sql操作数据表、数据库的一些方法
rs操作数据表记录集对象的方法
asp利用dateadd获得上个月、本月、下个月的第一天和最后一天
asp随机显示字符长度与类型(可随机显示数字、小写字母、大写字母,可以做为随机密码使用)
  • 业务 QQ:565449214
  • 手机:139 6134 7334
更多>>随机抽取信息
竖排的选项卡
一个游戏性的网站
深山留言板(激情圣诞集合五套模板)v4.4
获得当前页面的长宽高各项参数
跳转菜单,跳转后用新窗口打开
英雄真的是需要寂寞与孤独
复选框添加,删除信息,过滤重复
ASP与ACCESS数据库链接代码
Ads loading...