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 字符串 小常识
Jun 05 PHP
yii实现图片上传及缩略图生成的方法
Dec 04 PHP
php中使用gd库实现下载网页中所有图片
May 12 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
php实现转换html格式为文本格式的方法
May 16 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
php封装的验证码类分享
Feb 26 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
PHP共享内存使用与信号控制实例分析
May 09 PHP
PHP实现用session来实现记录用户登陆信息
Oct 15 PHP
PDO::query讲解
Jan 29 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可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
js中如何复制一个对象并获取其所有属性和属性对应的值
2013/10/24 Javascript
js点击事件链接的问题解决
2014/04/25 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
2017/05/25 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
SQL面试题
2013/12/09 面试题
劳资专员岗位职责
2013/12/27 职场文书
面试后感谢信
2014/02/01 职场文书
保密承诺书范文
2014/03/27 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
作弊检讨书
2015/01/27 职场文书
小马王观后感
2015/06/11 职场文书
工商局调档介绍信
2015/10/22 职场文书
初二数学教学反思
2016/02/17 职场文书
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技