php判断有没有登录,请问thinkphp 怎么在每个方法里面判断是否登录?

[tp版本3.2.3]

我在Controller里面写了一个公共类CommonController.class.php,写了一个构造方法来判断是否登录,没登录就重定向到登陆页:

namespace Admin\Controller;

use Think\Controller;

class CommonController extends Controller

{

public function __construct()

{

$isLogin = session('islogin');

if (!$isLogin) {

$this->redirect('Login/index');

return;

} else {

session('islogin', $isLogin); // 如果登录刷新一下?不知道是不是这样去刷新,因为可能出现登录了后过期的情况。

}

}

}

这样做有一个问题,就是没有登录的时候始终会重定向。报错127.0.0.1 将您重定向的次数过多。

于是我改成了

class CommonController extends Controller

{

public function isLogin()

{

$isLogin = session('islogin');

if (!$isLogin) {

$this->redirect('Login/index');

return;

} else {

session('islogin', $isLogin); // 如果登录刷新一下?不知道是不是这样去刷新

}

}

}

接着在其它继承CommonController的文件每一个都去加一个构造函数,如

ArticleController.class.php

namespace Admin\Controller;

use Think\Controller;

class ArticleController extends CommonController

{

function __construct()

{

parent::isLogin(); // 这样写会报错,不知道为什么,报错提示如下

}

public function dolist()

{

$this->show("hallo world");

}

}

报错提示:

Call to a member function display() on null

错误位置

FILE: X:\domainX\ThinkPHP\Library\Think\Controller.class.php  LINE: 69

最后这样写才不报错:

namespace Admin\Controller;

use Think\Controller;

class ArticleController extends CommonController

{

public function dolist()

{

parent::isLogin(); // 这样写

$this->show("hallo world");

}

}

问题:

为什么继承CommonController.class.php的类也不能再__construct里面判断呢?

继承CommonController.class.php的类如果都要判断是否登录,就需要在每一个方法里面写parent::isLogin();,这样做合理吗?还是说这样做本来就是合理的?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php小程序码生成并保存,小程序中如何生成小程序码

导语:小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用&…

php写不了php,php写入内存不足怎么办

php写入内存不足的解决办法:1、修改【php.ini】;2、在程序里面添加相关语句,代码为【ini_set(memory_limit, 12M)】;3、在根目录建立【.htaccess】文件。本教程操作环境:windows7系统、PHP5.6版,DELL G3电脑…

server.mappath php,Server.MapPath( ) 方法的主要功能是获取文件的绝对路径。

9、“别有忧愁暗恨生”中的“忧”应写作“幽”。( )尺寸标注的组成中包含单位,尺寸线,尺寸文字,尺寸箭头目前常见的光纤通常为单模光纤,因为直径细,通信容量大。“给予,提供”的日语假名是( )。1010.( )在FX系列PLC功能指令中有符号P表示脉冲执行。20世纪70年代,设计出了()系统…

java 终态类,javaoo,继承,抽象类,终态类,访问修饰符!

java的继承!Java的继承使用extends关键字!为什么要使用继承呢?我们先来举例说明一下!比如说!烟是类!而叶子烟,和纸烟,烟这个类包含了,叶子烟和纸烟这两个类,如…

php cdr,win10彻底禁止cdr联网

1、打开Win10电脑,然后按winPauseBreak,来到“系统”属性窗口,点击控制面板,如图所示:2、打开来到控制面板页面,鼠标单击“系统和安全”,如图:3、打开在“系统和安全”对话框中&…

php授权验证系统 c,OAuth 2.0 授权码认证

参考文章组成成分用户应用1应用2流程用户在应用1浏览、使用的过程中,涉及到要使用应用2功能的时候,就产生了 oauth 认证!A. 登录授权应用1携带如下查询字符串:response_typeclient_idredirect_uriscopestate跳转到应用2的登录授权…

微信 语音转文字 java,在微信——怎么将语音转化为文字,你需要学习了

有时候和好友在聊天,这时好友在微信上发来语音信息,可是你这个时候不方便听语音,那怎么办呢?这个是我们就可以运用微信的语音转文字的功能,那么如何使用这个功能呢?跟着小编看看吧!操作方法01小…

java 上传 进度,关于 javaweb的文件上传实时显示进度

方法:使用单例保存实时信息。具体的实现方法就是,当用户点击了处理按钮时,在后台开启一个线程进行处理,并且每进行到一步,就向单例中写入当前状态信息。然后编写一个servlet,用于返回单例中的信息&#xff…

java 解压到内存,Java GZip 基于内存实现压缩和解压的方法

欢迎大家关注本博,同时欢迎大家评论交流,可以给个赞哦!!!GZip是常用的无损压缩算法实现,在Linux中较为常见,像我们在Linux安装软件时,基本都是.tar.gz格式。.tar.gz格式文件需要先对…

php开发添加表情功能,WordPress网站评论区如何实现添加表情包功能?

做网站过程中,可以给自己的网站添加评论框,供用户评论。默认情况下,Wordpress网站评论框是没有添加表情功能的,那么WordPress网站评论区如何实现添加表情包功能?今天我们介绍一下如何给自己的Wordpress网站评论框添加表…

php htmlspecialchars 不管用,php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总_php技巧...

从旧版升级到php5.4,恐怕最麻烦的就是htmlspecialchars这个问题了!当然,htmlentities也会受影响,不过,对于中文站来说一般用htmlspecialchars比较常见,htmlentities非常少用到。可能老外认为网页普遍应该是…

matlab 微秒 符号,matlab处理csi

使用python调用matlab API接口进行数据分析找到matlab安装目录下自带的setup.py的路径我的路径如下D:\MATLAB\R2018a\extern\engines\python打开cmd进入到刚才找到的路径管理员权限执行!!! pyhton setup.py install具体代码1.将csiTool中的ma…

日冕物质抛射检测matlab,日冕图像论文,关于基于实时数据的日冕物质抛射自动检测方法相关参考文献资料-免费论文范文...

导读:本论文主要论述了日冕图像论文范文相关的参考文献,对您的论文写作有参考作用。(昆明理工大学信息与自动化学院,昆明 650504)(Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650504,China)摘 要:本…

link url下载php,php脚本生成google play url的下载链接,下载apk并自动反编译后获取android版本号...

php脚本生成google play url的下载链接,下载apk并自动反编译后获取android版本号需求:get the offer tracking linkfollow the redirect to get google play urlGo to http://apps.evozi.com/apk-downloader/Enter google play urlDownload APK fileDecompile APK f…

java中.of,java中instanceof的用法

java 中的instanceof 是一个二元操作符(运算符)运算符,由于是字母组成,所以是Java的保留关键字,它的作用是用来判断,instanceof 左边对象是否为instanceof 右边类的实例,返回一个boolean类型值。还可以用来判断子父类的…

java实现鸭子类型,Golang的interface及duck typing鸭子类型

Golang的interface及duck typing鸭子类型“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。” 意思就是: 一个东西究竟是不是鸭子,取决于它能不能满足鸭子的工作。duck typing 多见于动态语言,例如PHP,Python等…

小猴吃桃matlab,看图写话:小猴吃桃精彩选篇

看图写话:小猴吃桃精彩选篇两只聪明的小猴子一天上午,风和日丽。佳佳和皮皮到小溪边玩耍,忽然皮皮开心的大叫:“快看那边有好多又大又红的桃子!”这时佳佳也高兴的欢呼着,馋的它们开水直流。皮皮和佳佳都在…

php mysql 分行执行,php执行mysql存储及执行脚本

php执行mysql存储及执行脚本php页面执行mysql存储过程:# vi cunchu.php$db new mysqli("localhost","root","123456","team1");$result$db->query("CALL challenge_crontab()");?>:wq注释:执行team1数据…

oracle 换字段顺序,修改ORACLE的字段顺序

首先你要有一个pl/sql,其实没有也行,但是这数据库还是有一个可视化界面为好啊。1.首先,以sys用户的身份登录PL/SQL2.查询出你要更改的表的ID,以我本地的数据为例,我要改‘FINACE‘用户下‘INCOME‘这张表。注&#xff…

oracle单行子查询返回多个行 order by,单行子查询返回多个行 Issue分析求助

with order_base as --获取订单基础情况(select ou.order_key order_key, ou.order_quantity_i, ood.dispatch_time_t, ou.part_number_s, I032ZZ01 pline_name_sfrom order_uv ou left join at_as_om_orderdispatchstatus ood on ou.order_key ood.order_54union allselect m…