PHP實(shí)現(xiàn)會員賬號單唯一登錄的方法分析
本文實(shí)例講述了PHP實(shí)現(xiàn)會員賬號單唯一登錄的方法。分享給大家供大家參考,具體如下:
情景再現(xiàn)
同一會員賬號限制在同一臺設(shè)備(電腦、手機(jī)、Ipad等)上單點(diǎn)登錄,重復(fù)登錄后,原登錄訪問頁面時則直接跳轉(zhuǎn)到登錄頁面且需要重新登錄才能正常訪問。
原理分析
A賬號在A電腦上登錄后,A賬號此時又用B電腦再次登錄,則A電腦請求頁面時,提示“重新登錄”的信息,并跳轉(zhuǎn)到登錄頁面
思路解析:
A賬號在A電腦上登錄后,把SESSION ID寫入TXT文件,每次訪問頁面時,都做一次校驗(比較txt文件的值是否和當(dāng)前登錄的session_id的值相同)
實(shí)例
1、入口與校驗(index.php)
<?php session_start(); $uid = 10; if(is_login($uid)){ header('location:loginSuccess.php'); }else{ $getLogSessionId = file_get_contents('session_log/'.$uid.'.txt'); if($getLogSessionId){ echo "已在其他地方登錄,請重新登錄"; echo "<br>"; echo "5秒后跳轉(zhuǎn)到登錄頁面!"; header("refresh:5;url=login.php"); }else{ echo '第一次登錄...'; echo "<br>"; echo "3秒鐘后跳轉(zhuǎn)到登錄頁面!"; header("refresh:3;url=login.php"); } } /** * 通過登錄時寫入文件session_id和當(dāng)前登錄設(shè)備后生成的session_id進(jìn)行比較,相同則是同一臺設(shè)備登錄,不同則在別的地方登錄 */ function is_login($uid){ $getLogSessionId = file_get_contents('session_log/'.$uid.'.txt'); if($getLogSessionId == session_id()){ return true; }else{ return false; } }
2、登錄(login.php)
<?php session_start(); echo "登錄中...."; echo '<br>'; $uid = 10; file_put_contents('session_log/'.$uid.'.txt',session_id()); echo "登錄完成";
3、登錄成功(loginSuccess.php)
<?php echo "我登錄成功了!";
4、保存sessionId文件夾(session_log),測試代碼,需要手動建一個或者賦予自動生成文件的權(quán)限
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php緩存技術(shù)總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP錯誤與異常處理方法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
基于PHP實(shí)現(xiàn)的事件機(jī)制實(shí)例分析
這篇文章主要介紹了基于PHP實(shí)現(xiàn)的事件機(jī)制,實(shí)例分析了事件機(jī)制的原理及php中debug_backtrace函數(shù)完成事件機(jī)制的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-06-06yii2項目實(shí)戰(zhàn)之restful api授權(quán)驗證詳解
這篇文章主要給大家介紹了關(guān)于yii2項目實(shí)戰(zhàn)之restful api授權(quán)驗證的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-05-05WindowsXP中快速配置Apache+PHP5+Mysql
查了一些資料,再加上以前也曾配置過,整個Apache + PHP5 + Mysql配置、測試成功的過程只用了短短5分鐘。2008-06-06php實(shí)現(xiàn)的中秋博餅游戲之繪制骰子圖案功能示例
這篇文章主要介紹了php實(shí)現(xiàn)的中秋博餅游戲之繪制骰子圖案功能,涉及php圖形繪制中位置、顏色、形狀等相關(guān)屬性設(shè)置操作技巧,需要的朋友可以參考下2017-11-11PHP ajax 異步執(zhí)行不等待執(zhí)行結(jié)果的處理方法
這篇文章主要介紹了PHP ajax 異步執(zhí)行不等待執(zhí)行結(jié)果的處理方法,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05php 下 html5 XHR2 + FormData + File API 上傳文件操作實(shí)例分析
這篇文章主要介紹了php 下 html5 XHR2 + FormData + File API 上傳文件操作,結(jié)合實(shí)例形式分析了php 下使用html5 XHR2 + FormData + File API 實(shí)現(xiàn)上傳文件操作方法與相關(guān)操作注意事項,需要的朋友可以參考下2020-02-02怎樣使用php與jquery設(shè)置和讀取cookies
有兩種處理cookies的方式—服務(wù)端(php,asp等)和客戶端(javascript).在這個教程中,我們將學(xué)習(xí)到以php和javascript這兩種方式如何去創(chuàng)建cookies2013-08-08