您好,登錄后才能下訂單哦!
使用PHP怎么判斷用戶的登錄狀態?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1.
2.
<if condition="$GLOBALS['userinfo']['user_id'] gt 0"> <span class="help_wz"><a href="{$Think.config.VIP_URL}/Member/user_pwd/" >找回登錄密碼</a></span> <else/> <span class="help_wz"><a href="/Login/FindPwd" >找回登錄密碼</a></span> </if>
3.后臺設置全局變量并查詢用戶信息
public function UserInfo($user_id){ //查詢系統信息 $system=array( 'CmdId'=>'System', 'Token'=>'wap', 'PostDetails'=>json_encode(array( ))); //通過curl的post方式發送接口請求 $curl=new CurlController(); $strs=$curl->SendCurl($system); $GLOBALS['system']=$strs['AcctDetails']; if(empty($user_id)){ return false; } setcookie("login_uid", $user_id, time() + 3600, "/", C('cookie_url')); setcookie("rdun", $this->authcode($user_id . "," . time(), "ENCODE"), time() + 3600,"/",C('cookie_url'));; $data=array( 'CmdId'=>'Individual', 'Token'=>session('token'), 'PostDetails'=>json_encode(array( 'user_id'=>$user_id, ))); //通過curl的post方式發送接口請求 $curl=new CurlController(); $str=$curl->SendCurl($data); $GLOBALS['userinfo']=$str['AcctDetails']; $newtoken=unserialize($str['AcctDetails']['token']); $oldtoken=unserialize(session('token')); if(!empty(session('token')) && !empty($str['AcctDetails']['token'])){ //用戶不對 if($newtoken['user_id'] !== $newtoken['user_id']){ session('token',null); session('user_id',null); header('Location:/Login/Login'); return false; } //token不對 if($newtoken['time'] !== $oldtoken['time']){ session('token',null); session('user_id',null); header('Location:/Login/Login'); return false; } //超時的不能在這做,原因是存入session的值不變,如果用戶一直操作的話,而且只登陸一次,那么就會出現問題 } return true; }
關于使用PHP怎么判斷用戶的登錄狀態問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。