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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 PHP
如何在php中正确的使用json
Aug 06 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
Aug 06 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
PHP is_subclass_of函数的一个BUG和解决方法
Jun 01 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
PHP实现全角字符转为半角方法汇总
Jul 09 PHP
PHP执行linux命令常用函数汇总
Feb 02 PHP
php blowfish加密解密算法
Jul 02 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 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中单引号与双引号的区别分析
2014/08/19 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
简单选项卡 js和jquery制作方法分享
2014/02/26 Javascript
PHP PDO操作总结
2014/11/17 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
uni-app如何页面传参数的几种方法总结
2020/04/28 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
[35:26]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第三局
2016/02/26 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
django表单实现下拉框的示例讲解
2018/05/29 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
对python:print打印时加u的含义详解
2018/12/15 Python
python字典改变value值方法总结
2019/06/21 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
HTML5制作表格样式
2016/11/15 HTML / CSS
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
小学一年级学生评语
2014/04/22 职场文书
工作作风承诺书
2014/08/30 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS