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 相关文章推荐
在数据量大(超过10万)的情况下
Jan 15 PHP
php出现Cannot modify header information问题的解决方法大全
Apr 09 PHP
php 表单验证实现代码
Mar 10 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
Apr 07 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
Dec 25 PHP
php实现文件与16进制相互转换的方法示例
Feb 16 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
PHP实现统计代码行数小工具
Sep 19 PHP
PHP的JSON封装、转变及输出操作示例
Sep 27 PHP
Laravel 错误提示本地化的实现
Oct 22 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
实用函数10
2007/11/08 PHP
跟我学Laravel之安装Laravel
2014/10/15 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
JS快速实现简单计算器
2020/04/08 Javascript
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
2020/06/05 Javascript
[49:27]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第一场
2018/04/05 DOTA
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
Python中分数的相关使用教程
2015/03/30 Python
python optparse模块使用实例
2015/04/09 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
Python里字典的基本用法(包括嵌套字典)
2019/02/27 Python
Python pandas用法最全整理
2019/08/04 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
数控机械专业个人的自我评价
2014/01/02 职场文书
中国入世承诺
2014/04/01 职场文书
中央空调节能方案
2014/06/15 职场文书
党的群众路线教育实践活动对照检查材料
2014/09/22 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
商业门面租房协议书
2014/11/25 职场文书
企业战略合作意向书
2015/05/08 职场文书
服务行业标语口号
2015/12/26 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis