使用PHP怎么判断用户的登录状态

发布时间:2021-02-20 16:34:01 作者:Leah
来源:亿速云 阅读:129

使用PHP怎么判断用户的登录状态?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1.

使用PHP怎么判断用户的登录状态

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怎么判断用户的登录状态问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. php判断用户是否登录的代码分享
  2. 怎么在php中保持用户登录状态

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:webpack3怎么正确引用并使用jQuery库

下一篇:php删除一个数组元素的案例

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》