TP框架中如何使用SESSION限制登录?
TP框架中如何使用SESSION限制登录?
之前总是被问题今天才明白,最高效的来做页面访问限制问题。
OOP思想中的继承特性,实现验证,是否已经登录,不必每个页面都进行判断。
实现如下:
继承Controller
CommonController
<?php
/**
* User:...
*/ namespace Home\Controller;
use Think\Controller; /**
* 通用控制器
* 主要用于验证是否登陆 以及 用户权限
* @package Home\Controller
*/
class CommonController extends Controller {
/* 定义用户id */
public static $userid = ''; /**
* 自动执行
*/
public function _initialize()
{
// 判断用户是否登录
if (session('uid')) {
$this->userid = session('uid');
} else {
$this->error('对不起,您还没有登录,正跳转至登录面...', U('Login/login'));
}
} }
限制登录的页面
<?php
namespace Home\Controller;
use Think\Controller; /**
* 首页控制器
* @package Home\Controller
*/
class IndexController extends CommonController {
/**
* 此处直接继承commonController 系统首页
*/
public function index(){
// 获取当前账户的登录信息
$info = M('users')->field('loginnum')->where(array('id' => parent::$userid))->find(); $this->assign('info', $info);
$this->assign('SERVER_SOFTWARE', $_SERVER['SERVER_SOFTWARE']);
$this->display();
}
}
是不是恍然大明白啦?哈哈
TP框架中如何使用SESSION限制登录?的更多相关文章
- TP框架中关于if、else 分支结构逻辑错误
TP框架中关于if.else 分支结构逻辑错误 代码中没有任何错误 将注释往下一行就可以解决 造成问题的原因: TP框架中 想分配变量可以使用assign方法 在[模块]中: $this->as ...
- TP框架中ajax post请求时提示404
ajax post请求时提示404错误 TP框架中ajax post请求时提示404 找了半天是 控制器中方法有错误! 下次再遇到去控制器方法中找一步一步找,肯定能找到,我是单词拼错了!
- TP框架中field查询字段
TP框架中field查询字段 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是file ...
- TP框架中模板赋值
TP框架中模板赋值 $this->assign('name',$value); $this->name = $value; // 两种写法是等效的
- TP框架中模糊查询实现
TP框架中模糊查询实现 $where['g.name'] = array('like','%'.$groupname.'%'); 表达式查询 上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式 ...
- TP框架中的M、D、C、I、A、S方法
M方法 M实例化参数是数据库的表名 //使用M方法实例化$User = M('User');//和用法$User = new /Think/Model ('User');等效//执行其他的数据操作$U ...
- tp框架中的一些疑点知识-7
mysqli是用面向对象的,所以用箭头对象语法, 而mysql是用C语言面向过程写的, 所以用的都是php全局函数 式的写法. tinkle: 叮叮当当的响; (口语)一次电话, i will giv ...
- tp框架中的一些疑点知识-5
关于vim中的缓存区的前后bp和bn的界定 通过命令ls可以看到 缓存区的 排序. 最开始打开的文件排在最上面, 序号最小. 那么它们就是 更 前 的缓冲区. 序号更前的用bp, 序号靠后的用bn. ...
- tp框架中的一些疑点知识-2
tp中有三种常量: 预定义常量, 这个设置后不会随环境的改变而改变的,比如'URL_MODEL' => 1 注意是 model, 不是 url_mode 路径常量, 也不会随环境的改变而改变的, ...
随机推荐
- hdu 4790 Just Random
思路:对于a<=x<=b,c<=y<=d,满足条件的结果为ans=f(b,d)-f(b,c-1)-f(a-1,d)+f(a-1,c-1). 而函数f(a,b)是计算0<= ...
- arraylist-lambada-性能测试
package cn.com.one;import java.util.ArrayList;public class ttt { public static void main(String [] a ...
- Android Studio 2.3更换默认的ConstraintLayout布局
首先打开你的Android Sudio安装目录,我的为D:\Program Files\Android\Android Studio,进入到以下文件夹\plugins\android\lib\temp ...
- 1、Redis简介、安装和基础入门
-------------------------------------------------------- 主要内容包括: 1.Redis简介 2.Redis安装.启动.停止 3.Redis基础 ...
- JQ自定义下拉列表插件
自从上次做了JQ自定义分页插件和表格插件后,就没在自定义过插件了,这一个月都在用linq和ef,基本前端都没怎么去碰了,今天有个同事说有个项目需要在下拉框里面带有复选框,本来想网上找下插件的,一想,其 ...
- Ubuntu 16.09下iptables通过raw表实现日志输出和调试
1.先配置好raw表日志打点功能 参考:http://www.cnblogs.com/EasonJim/p/8413563.html 2.配置好messages文件 参考:http://www.cnb ...
- ADC Power Supplies
http://www.planetanalog.com/author.asp?section_id=3041&doc_id=563055 Jonathan Harris, Product Ap ...
- mysql localhost登录和tcp/ip登录 strace
http://blog.itpub.net/15480802/viewspace-1755100/
- Hyper-v: Snapshot merge
我有一个Hyper-V上的虚拟机, 在使用的过程中我给这个虚拟机创建了多个snapshots. 有一天我把整个的snapshots tree从root删掉了(delete snapshot with ...
- There is no Action mapped for namespace [/] and action name [Login] associated with context path [/e
近期学习web开发时,就遇到这个令人头疼的问题. 百度谷歌了N遍,最终在博客http://blog.csdn.net/liu578182160/article/details/17266879中找到了 ...