<% 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 %>
登陸成功后葉面會跳轉到loginOK.asp
<style type="text/css"> <!-- body {background-color: #FF9900;} --> </style> <% IF Session("lgName")<>"" then %> 您登陸成功了?。?!下面是潛入網頁內的iframe為的是在規定的時間刷新網頁向服務器報告你是否在線 為了便于區分,frame網頁我們采用了白色作為底色 <iframe border=0 name=new_date marginwidth=0 framespacing=0 marginheight=0 src="loginFrame.asp" frameborder=0 noResize width=100 scrolling=no height=30 vspale="0"></iframe> <% else %> 您沒有登陸哈 <% end if %>