4个回答
2014-03-07
展开全部
完成后在新建一个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文件也存在这个目录下,这是关键,仔细看下面的代码: .. 以下为引用的内容: 特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系 <!--#include file="loginCONN.asp" -->
<%
''删除maxTime时间内部活动的用户,maxTime 在loginCONN.asp文件里面已经定义好了
Conn_TOL8.Execute("Delete From onlyLogin where DATEDIFF(''s'',OLtime, now()) > "& maxTime & "")
''================================================================
Dim rs, ts, txt, sql, userName, userPass
if Request.Form("Submit")="Login" then
userName=Request.Form("userName")''获取表单用户登陆名
userPass=Request.Form("userPass")''获取表单用户登陆密码
''由于我们这里讨论的不是安全问题所以用户密码都没有加密
Set rs = Server.CreateObject("ADODB.RECORDSET")
sql="SELECT * FROM users where userName = '' "& userName & "'' and userPass = '' "& userPass & "''"
rs.Open sql, CONN_TOL8,1,1
IF not rs.eof then
Call isOK(userName) '' 用户名密码正确调用次过程,isOK将会在下面的程序中定制。 ..
else
Response.Write("<a href=javascript:history.go(-1)>用户名或密码错误</a>")
Response.End()
end if
rs.Close
Set rs=Nothing
end if
Sub isOK(userName)
Dim Olip '' 数据库中当前登陆用户名保存的ip
Dim Oltime '' 数据库中当前登陆用户名保存的最后刷新网页的时间,是计算用户是否在线的重要数据。
Dim OLip1 '' 记录当前用户登陆ip,用来区分是否为同一用户的标示
OLip1=Request.ServerVariables("REMOTE_ADDR")''取得提交登陆信息用户的IP
Set ts=Conn_TOL8.execute("Select * FROM onlyLogin WHERE OLname=''"& userName & "''")
if not ts.eof then '' 查询数据库是否有此用户的登陆过的信息
OLtime=ts("OLtime")
OLip=ts("OLip")
if OLip1<>OLip and DateDiff("s",OLtime,now()) < maxTime then
''上句判断如果提交登陆用户ip不是数据库中最后纪录的用户ip并且
''用户的最后活动时间和当前时间相隔并没超过规定的秒数则确认此用户当前在线
Response.Write "<a href=javascript:history.go(-1)>此用户目前在线,你无法从其他地方登陆此账号!</a>" 版权申明:本站文章均来自网络,本站所有转载文章言论不代表本站观点
Response.End()
else
''否则的话判定登陆成功付值给session
Session("lgName")=userName
Session("lgPass")=userPass
Response.Redirect "loginOK.asp"
Response.End
end if
else
''如果数据库没有次登陆用户纪录则执行下面的语句
Dim ls
Set ls=Server.CreateObject("ADODB.RECORDSET")
ls.Open"Select * From onlyLogin",CONN_TOL8,2,2
ls.ADDNEW
ls("OLname")=userName
ls("OLip")=OLip1
ls("OLtime")=NOW()
ls.UPDATE
ls.Close
Set ls=Nothing
''判定登陆成功付值给session
Session("lgName")=userName
Session("lgPass")=userPass
Response.Redirect "loginOK.asp"
Response.End
end if
End Sub %>
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文件也存在这个目录下,这是关键,仔细看下面的代码: .. 以下为引用的内容: 特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系 <!--#include file="loginCONN.asp" -->
<%
''删除maxTime时间内部活动的用户,maxTime 在loginCONN.asp文件里面已经定义好了
Conn_TOL8.Execute("Delete From onlyLogin where DATEDIFF(''s'',OLtime, now()) > "& maxTime & "")
''================================================================
Dim rs, ts, txt, sql, userName, userPass
if Request.Form("Submit")="Login" then
userName=Request.Form("userName")''获取表单用户登陆名
userPass=Request.Form("userPass")''获取表单用户登陆密码
''由于我们这里讨论的不是安全问题所以用户密码都没有加密
Set rs = Server.CreateObject("ADODB.RECORDSET")
sql="SELECT * FROM users where userName = '' "& userName & "'' and userPass = '' "& userPass & "''"
rs.Open sql, CONN_TOL8,1,1
IF not rs.eof then
Call isOK(userName) '' 用户名密码正确调用次过程,isOK将会在下面的程序中定制。 ..
else
Response.Write("<a href=javascript:history.go(-1)>用户名或密码错误</a>")
Response.End()
end if
rs.Close
Set rs=Nothing
end if
Sub isOK(userName)
Dim Olip '' 数据库中当前登陆用户名保存的ip
Dim Oltime '' 数据库中当前登陆用户名保存的最后刷新网页的时间,是计算用户是否在线的重要数据。
Dim OLip1 '' 记录当前用户登陆ip,用来区分是否为同一用户的标示
OLip1=Request.ServerVariables("REMOTE_ADDR")''取得提交登陆信息用户的IP
Set ts=Conn_TOL8.execute("Select * FROM onlyLogin WHERE OLname=''"& userName & "''")
if not ts.eof then '' 查询数据库是否有此用户的登陆过的信息
OLtime=ts("OLtime")
OLip=ts("OLip")
if OLip1<>OLip and DateDiff("s",OLtime,now()) < maxTime then
''上句判断如果提交登陆用户ip不是数据库中最后纪录的用户ip并且
''用户的最后活动时间和当前时间相隔并没超过规定的秒数则确认此用户当前在线
Response.Write "<a href=javascript:history.go(-1)>此用户目前在线,你无法从其他地方登陆此账号!</a>" 版权申明:本站文章均来自网络,本站所有转载文章言论不代表本站观点
Response.End()
else
''否则的话判定登陆成功付值给session
Session("lgName")=userName
Session("lgPass")=userPass
Response.Redirect "loginOK.asp"
Response.End
end if
else
''如果数据库没有次登陆用户纪录则执行下面的语句
Dim ls
Set ls=Server.CreateObject("ADODB.RECORDSET")
ls.Open"Select * From onlyLogin",CONN_TOL8,2,2
ls.ADDNEW
ls("OLname")=userName
ls("OLip")=OLip1
ls("OLtime")=NOW()
ls.UPDATE
ls.Close
Set ls=Nothing
''判定登陆成功付值给session
Session("lgName")=userName
Session("lgPass")=userPass
Response.Redirect "loginOK.asp"
Response.End
end if
End Sub %>
2014-03-07
展开全部
使用APPLICATION吧在一个APPLICATION里面把登录的用户名用,分割所有的都存在一个里面然后登录的时候判断该APPLICATION是否包含该用户名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-07
展开全部
数据库里加一个字段,默认为0,如果登录就把值设为当前值加1,如果值为1就是正确登录,如果不是1就为多人登录,在退出时将值设为0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-07
展开全部
限制一个IP多个登录,可以使用SESSION(变量)来判定;限制多IP同时登录,可以使用APPLICATION(变量)来判定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询