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 循环列出目录内容的函数代码
May 26 PHP
php处理斐波那契数列非递归方法
Feb 04 PHP
PHP读取文件内容后清空文件示例代码
Mar 18 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
php生成圆角图片的方法
Apr 07 PHP
6个超实用的PHP代码片段
Aug 10 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
Dec 30 PHP
php实现基于openssl的加密解密方法
Sep 30 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
Apr 09 PHP
Laravel用户授权系统的使用方法示例
Sep 16 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
关于PHP中interface的用处详解
Jul 26 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之第八天
2006/10/09 PHP
如何隐藏你的.php文件
2007/01/04 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
js字符串操作总结(必看篇)
2016/11/22 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
ES6扩展运算符用法实例分析
2017/10/31 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
2020/12/08 Vue.js
[01:05:40]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第三场
2014/05/24 DOTA
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
Python 2/3下处理cjk编码的zip文件的方法
2019/04/26 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
详解Python描述符的工作原理
2021/06/11 Python
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers