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如何编写易读的代码
Jul 10 PHP
php程序的国际化实现方法(利用gettext)
Aug 14 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
Jun 06 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
May 12 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
详解js异步文件加载器
Jan 24 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
PHP学习笔记之php文件操作
Jun 03 PHP
php错误日志简单配置方法
Jul 11 PHP
CI框架表单验证实例详解
Nov 21 PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 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 操作符与控制结构
2012/03/07 PHP
很让人受教的 提高php代码质量36计
2012/09/05 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
JavaScript XML操作 封装类
2009/07/01 Javascript
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
script标签的 charset 属性使用说明
2010/12/04 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
轻松创建nodejs服务器(8):非阻塞是如何实现的
2014/12/18 NodeJs
jQuery中innerHeight()方法用法实例
2015/01/19 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
python写日志封装类实例
2015/06/28 Python
python requests爬取高德地图数据的实例
2018/11/10 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
HTML5 WebGL 实现民航客机飞行监控系统
2019/07/25 HTML / CSS
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
会计与审计毕业生自荐信范文
2013/12/30 职场文书
白岩松演讲
2014/05/21 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
长江三峡导游词
2015/01/31 职场文书
教师辞职书范文
2015/02/26 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
2016大学先进团支部事迹材料
2016/03/01 职场文书
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技