設定同一個帳號不允許同時登陸

來源:互聯網
上載者:User
前提:用asp實現這種功能顯然有些牽強,因為ASP一般靠重新整理網頁更改最後啟用時間來擷取使用者是否線上,本教程並不完美,只是提供一個思路!

實現這個功能可有兩種方式:

1。資料庫+asp
做起來可能會複雜些,但是適合有大量登陸使用者的系統。

2。application
用application對象:如果做的是大型社區,可能要為每個登陸id產生一個appliaction,這樣做雖然程式上設計會簡單些但登陸使用者過多及其耗費伺服器資源,這裡決不提倡,因為appliaction對象在使用者登陸時產生很容易,但是要做到真正的隨著使用者退出系統完全釋放,到目前還沒看到更好的方法~

因此還是讓我們來看看用資料庫+asp是如何?同一個帳號不能同時登陸!

首先為使用者建立資料庫-用access建立一個onlyTOL8.mdb

資料表1:users存放使用者註冊資料
下設資料表:uID(自動編號)userName(字元型)userPass(字元型)

資料表2:onlyLogin存放使用者臨時登陸資訊
下設資料表:OLname(字元型)OLtime(日期型)OLip(字元型)

資料庫建好後直接向users表中手動添加資料userName表添加TOL8,userPass表裡添加111,

下面來做使用者登陸介面,複製下面代碼存成onlyLogin.asp檔案。

完成後在建立一個loginCONN.asp檔案複製下面的代碼儲存用於串連資料庫

下面做一個loginPost.asp檔案也存在這個目錄下,這是關鍵,仔細看下面的代碼:

登陸成功後葉面會跳轉到loginOK.asp

下面要做的是loginFrame.asp

到此為止程式就完成了,這個程式的關鍵就是判定使用者是否線上,本例是用FRAME把定時重新整理確定使用者線上的關鍵性葉面嵌套在主程式的葉面裡,實際的操作中可以把那個iframe的寬和高改為0讓一般使用者看不到,或者讓主程式的網頁底色和那個嵌套進來的定時重新整理的網頁一樣就ok了。
至於有人說用session和cookies之類的東西也能判定,這顯然是不可能的,因為他們產生的對象都是對自己起作用的,其資料內容根本無法和其他使用者共用。appliaction應該是實現這一目的的另一種方法,但是如果同時有很多使用者登陸要為每個使用者產生至少一個到三個appliaction對象是十分不划算的,伺服器會被拖垮~

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。