中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)絡(luò)編程 > 同一個帳號不能同時登陸的問題
在ASP中使用簡單Java類 回到列表 動網(wǎng)論壇代碼分析之嵌套查詢
 同一個帳號不能同時登陸的問題

作者:我容易么我 時間: 2003-11-19 文檔類型:轉(zhuǎn)載 來自:

第 1 頁 同一個帳號不能同時登陸的問題 [1]
第 2 頁 同一個帳號不能同時登陸的問題 [2]

〓簡介〓
有點常識的人都知道本身用asp做這種功能顯然有些牽強(qiáng),因為他不像qq,msn或irc 聊天室那樣是即時通訊,他都是靠刷新網(wǎng)頁更改最后活動時間來獲取用戶是否在線的,所以您不要指望下面這片教程有多完美,我也只是把我的思維模式記錄下來,有啥不對的地方還請高手們多多指教!
--------------------------------------------------------------------------------
〓正文〓
首先我先向大家介紹一下我實現(xiàn)這個效果的思路,如果你看過我的思路后就能理解完全沒必要將這篇東西看完……

實現(xiàn)這個功能我只能想到兩種方式來實現(xiàn):
1。數(shù)據(jù)庫+asp
做起來可能會復(fù)雜些,但是適合有大量登陸用戶的系統(tǒng)里。

2。application
用application對象:如果你做的是大型社區(qū),你可能要為每個登陸id生成一個appliaction,這樣做雖然程序上設(shè)計會簡單些但登陸用戶過多及其耗費服務(wù)器資源,我這里決不提倡,因為appliaction對象在用戶登陸時生成很容易但是要做到真正的隨著用戶退出系統(tǒng)完全釋放掉,到目前我還沒看到更好的方法~

因此還是讓我們來看看用數(shù)據(jù)庫+asp是如何實現(xiàn)同一個帳號不能同時登陸的問題的吧!

首先問用戶建立數(shù)據(jù)庫這里我們用access新建一個onlyTOL8.mdb

數(shù)據(jù)表1: users 存放用戶注冊資料
下設(shè)數(shù)據(jù)表:uID(自動編號) userName(字符型) userPass(字符型)

數(shù)據(jù)表2: onlyLogin 存放用戶臨時登陸信息
下設(shè)數(shù)據(jù)表: OLname(字符型) OLtime(日期型) OLip(字符型)

數(shù)據(jù)庫建好后我們直接向users表中手動添加數(shù)據(jù) userName表添加TOL8,userPass表里添加111,為了能突出我們本文討論的重點,去掉不必要的廢話,所以密碼也不要加密了,用戶名也自己添加~哈哈~

好了,現(xiàn)在數(shù)據(jù)庫里面有用戶數(shù)據(jù)庫,下面我們來做用戶登陸界面,復(fù)制下面代碼存成onlyLogin.asp文件。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>TOL8.COM禁止同一賬號不同地區(qū)同時登陸</title>
</head>
<body>
<form name="form1" method="post" action="loginPost.asp">
用戶名:<input name="userName" type="text" id="userName" size="15" maxlength="5">
密碼:<input name="userPass" type="password" id="userPass" size="15" maxlength="15">
<input type="submit" name="Submit" value="Login">
</form>
</body>
</html>


完成后在新建一個loginCONN.asp文件復(fù)制下面的代碼保存!是連接數(shù)據(jù)庫的,這個我就不多解釋了……
<%
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文件也存在這個目錄下,這個比較關(guān)鍵,仔細(xì)看下面的代碼:
<!--#include file="loginCONN.asp" -->
<%
'刪除maxTime時間內(nèi)部活動的用戶,maxTime 在loginCONN.asp文件里面已經(jīng)定義好了
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) ' 用戶名密碼正確調(diào)用次過程,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 ' 數(shù)據(jù)庫中當(dāng)前登陸用戶名保存的ip
Dim Oltime ' 數(shù)據(jù)庫中當(dāng)前登陸用戶名保存的最后刷新網(wǎng)頁的時間,是計算用戶是否在線的重要數(shù)據(jù)。
Dim OLip1 ' 記錄當(dāng)前用戶登陸ip,用來區(qū)分是否為同一用戶的標(biāo)示
OLip1=Request.ServerVariables("REMOTE_ADDR")'取得提交登陸信息用戶的IP
Set ts=Conn_TOL8.execute("Select * FROM onlyLogin WHERE OLname='"& userName & "'")
if not ts.eof then ' 查詢數(shù)據(jù)庫是否有此用戶的登陸過的信息
OLtime=ts("OLtime")
OLip=ts("OLip")
if OLip1<>OLip and DateDiff("s",OLtime,now()) < maxTime then
'上句判斷如果提交登陸用戶ip不是數(shù)據(jù)庫中最后紀(jì)錄的用戶ip并且
'用戶的最后活動時間和當(dāng)前時間相隔并沒超過規(guī)定的秒數(shù)則確認(rèn)此用戶當(dāng)前在線
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
'如果數(shù)據(jù)庫沒有次登陸用戶紀(jì)錄則執(zhí)行下面的語句
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 %>

出處:
責(zé)任編輯:帥青蛙

上一頁 下一頁 同一個帳號不能同時登陸的問題 [2]

◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論

作者文章
同一個帳號不能同時登陸的問題
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大!熬•自然”設(shè)計大賽開啟
國際體驗設(shè)計大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:1/21個記錄/頁 轉(zhuǎn)到 頁 共2個記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2