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 相关文章推荐
JpGraph php柱状图使用介绍
Aug 23 PHP
php 启动报错如何解决
Jan 17 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 PHP
php视频拍照上传头像功能实现代码分享
Oct 08 PHP
zen cart实现订单中增加paypal中预留电话的方法
Jul 12 PHP
Docker配置PHP开发环境教程
Dec 21 PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 PHP
PHP实现批量修改文件名的方法示例
Sep 18 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
PHP中uploaded_files函数使用方法详解
2011/03/09 PHP
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
2015/07/27 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
Node.js连接Sql Server 2008及数据层封装详解
2018/08/27 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
javascript关于“时间”的一次探索
2019/07/24 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
python 操作hive pyhs2方式
2019/12/21 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
python em算法的实现
2020/10/03 Python
python的数学算法函数及公式用法
2020/11/18 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
zooplus意大利:在线宠物商店
2019/08/07 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
小学数学教学反思
2014/02/02 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
2015年财政所工作总结
2015/04/25 职场文书
Python 多线程处理任务实例
2021/11/07 Python
JavaScript 定时器详情
2021/11/11 Javascript