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

时间:2021-05-26

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.后台设置全局变量并查询用户信息

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判断用户是否已经登录(跳转到不同页面或者执行不同动作),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章