您好,登錄后才能下訂單哦!
這篇文章主要介紹了php如何禁止重復登錄,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
php禁止重復登錄的方法:1、獲得當前打開瀏覽器session的id;2、判斷數據庫里的session_id與當前session_id是否相等,如果不相等則需要跳轉重新登錄。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
php防止用戶重復登錄
先來理解一下session的幾個設置:
ini_set('session.auto_start',0);
設置關閉session的自動啟動
ini_set('session.cookie_lifetime',0);
設置session在瀏覽器關閉時失效,session默認情況下是這樣子的,無需在設置
ini_set('session.gc_maxlifetime',3600);
設置session在瀏覽器未關閉時的持續存活時間
大概知道上面的幾個設置,那么我們開始理解下今天的內容啦。每當一個用戶登一個賬號時候,他打開瀏覽器就會自動生成一個session_id(有效時間內是唯一的),然后我們把這個唯一的id存入到user表的去(每登錄一次就更新一次當前賬號user表中的session_id的值)。這樣,在登錄后的所有界面都需要判斷,當前瀏覽器的session_id()與數據庫的user表的session_id是否一致,如果不一致,則顯示當前賬號已在線,你需要再次登錄再可以頂掉他的登錄。(就是每一次只能一個用戶登錄,后面登錄的用戶會擠掉前面登錄該賬號的用戶)
詳細,我們看下代碼吧:(其他無關本次推文代碼的代碼,我就不細說啦)
第一個框:獲得當前打開瀏覽器session的id,為下面插入、更新數據庫里唯一的session_id做準備
第二個框:判斷,數據庫里的session_id與當前session_id是否相等,若不相等,則更新當前數據庫里的session_id,若相等,直接返回3到前端ajax
在index.php界面下,這個框,表示判斷當前session_id()與數據庫的session_id是否相等,如果不相等,則表示當前賬號已經有登錄,且session_id不相等,需要跳轉重新登錄。
一、phpStudy,是一個新手入門最常用的開發環境。二、WampServer,WampServer也同樣的也是和phpStudy一樣操作簡單對小白比較友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的建站集成軟件包;四、MAMP,MAMP分為兩種MAMP和MAMP Pro for Mac。五、寶塔面板,寶塔面板是一款服務器管理軟件,支持windows和linux系統。六、UPUPW,UPUPW是目前Windows平臺下最具特色的Web服務器PHP套件。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“php如何禁止重復登錄”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。