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版(2)
Oct 09 PHP
一步一步学习PHP(5) 类和对象
Feb 16 PHP
PHP 学习路线与时间表
Feb 21 PHP
windows下开发并编译PHP扩展的方法
Mar 18 PHP
php下载文件的代码示例
Jun 29 PHP
PHP中exec函数和shell_exec函数的区别
Aug 20 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
php单一接口的实现方法
Jun 20 PHP
PHP页面转UTF-8中文编码乱码的解决办法
Oct 20 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 PHP
PHP7 list() 函数修改
Mar 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
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
微信小程序常用赋值方法小结
2019/04/30 Javascript
微信小程序实现按字母排列选择城市功能
2019/11/25 Javascript
Vue实现手机计算器
2020/08/17 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
python3使用tkinter实现ui界面简单实例
2014/01/10 Python
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
写一个方法1000的阶乘
2012/11/21 面试题
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
中专生自荐信
2013/10/12 职场文书
社区学习雷锋活动总结
2014/04/25 职场文书
生日庆典策划方案
2014/06/02 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
假期安全教育广播稿
2014/10/04 职场文书
2014年度培训工作总结
2014/11/27 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
Redis实现订单自动过期功能的示例代码
2021/05/08 Redis
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis