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 相关文章推荐
BBS(php &amp; mysql)完整版(八)
Oct 09 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
PHP可变函数学习小结
Nov 29 PHP
PHP会话操作之cookie用法分析
Sep 28 PHP
php中10个不同等级压缩优化图片操作示例
Nov 14 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
ThinkPHP实现简单登陆功能
Apr 28 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 PHP
实例讲解通过​PHP创建数据库
Jan 20 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 PHP
laravel批量生成假数据的方法
Oct 09 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
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
JavaScript中window、doucment、body的解释
2013/08/14 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
Node.js文件操作方法汇总
2016/03/22 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
基于vue-cli创建的项目的目录结构及说明介绍
2017/11/23 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
Vuex中的State使用介绍
2019/01/19 Javascript
express启用https使用小记
2019/05/21 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python批量提交沙箱问题实例
2014/10/08 Python
python执行get提交的方法
2015/04/29 Python
Python中统计函数运行耗时的方法
2015/05/05 Python
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
简单了解python元组tuple相关原理
2019/12/02 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
学年自我鉴定
2014/01/16 职场文书
乡下人家教学反思
2014/02/01 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
中学生英语演讲稿
2014/04/26 职场文书
《中国梦我的梦》小学生演讲稿
2014/08/20 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
标枪加油稿
2015/07/22 职场文书