PHP判断用户是否已经登录(跳转到不同页面或者

2.

<if condition="$GLOBALS['userinfo']['user_id'] gt 0"> <span><a href="https://www.jb51.net/{$Think.config.VIP_URL}/Member/user_pwd/">找回登录密码</a></span> <else/> <span><a href="https://www.jb51.net/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, "https://www.jb51.net/", C('cookie_url')); setcookie("rdun", $this->authcode($user_id . "," . time(), "ENCODE"), time() + 3600,"https://www.jb51.net/",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判断用户是否已经登录(跳转到不同页面或者执行不同动作),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/28f7fcc9e83fcf084c076bcfc0b0d9d1.html