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


Posted in PHP onSeptember 22, 2016

1.

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

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

PHP 相关文章推荐
php MySQL与分页效率
Jun 04 PHP
php对gzip文件或者字符串解压实例参考
Jul 25 PHP
php IP及IP段进行访问限制的代码
Dec 17 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
php中error与exception的区别及应用
Jul 28 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
Jan 19 PHP
php中的登陆login实例代码
Jun 20 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
详细解读php的命名空间(一)
Feb 21 PHP
PHP查看SSL证书信息的方法
Sep 22 #PHP
php版微信自动获取收货地址api用法示例
Sep 22 #PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 #PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 #PHP
PHP实现上一篇下一篇的方法实例总结
Sep 22 #PHP
php微信公众平台配置接口开发程序
Sep 22 #PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 #PHP
You might like
PHP读取XML值的代码(推荐)
2011/01/01 PHP
Yii2框架dropDownList下拉菜单用法实例分析
2016/07/18 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
2019/12/13 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
Javascript表达式中连续的 &amp;&amp; 和 || 之赋值区别
2010/10/17 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
Python中的sort()方法使用基础教程
2017/01/08 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
用python实现对比两张图片的不同
2018/02/05 Python
python写入已存在的excel数据实例
2018/05/03 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
Delphi工程师笔试题
2013/09/21 面试题
大学生求职简历的自我评价
2013/10/14 职场文书
费用会计岗位职责
2014/01/01 职场文书
信息专业大学生自我评价分享
2014/01/17 职场文书
社区助残日活动总结
2014/08/29 职场文书
2014年信访工作总结
2014/11/17 职场文书
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python
微信小程序实现聊天室功能
2021/06/14 Javascript