Home > Article > Backend Development > PHP determines whether the user has logged in instance analysis
This article mainly introduces the relevant information on PHP to determine whether the user has logged in. It is very good and has reference value. Friends in need can refer to it
1.
2.
<if condition="$GLOBALS['userinfo']['user_id'] gt 0"> <span class="help_wz"><a href="{$Think.config.VIP_URL}/Member/user_pwd/" style="color:#404958;">找回登录密码</a></span> <else/> <span class="help_wz"><a href="/Login/FindPwd" style="color:#404958;">找回登录密码</a></span> </if>
3. Set global variables in the background and query user information
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'=>'Inpidual', '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; }
Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.
Related recommendations:
Several points to note when defining command space in PHP
PHP request remote address setting timeout Solution
phpSimple example of importing Excel table into MySQL database through PHPExcel
The above is the detailed content of PHP determines whether the user has logged in instance analysis. For more information, please follow other related articles on the PHP Chinese website!