关于thinkphp的session验证问题。定义了_initialize()方法。

我写了一个控制器indexAction.class.php,里面有登陆的和登陆验证的。然后我按照网上教的,写了另一个commonAction.class.php控制器,里... 我写了一个控制器indexAction.class.php,里面有登陆的和登陆验证的。然后 我按照网上教的,写了另一个commonAction.class.php控制器,里面进行session判断,没登陆就重定向。然后index控制器继承common控制器,希望没登陆时都自动跳转到登陆界面。但每次访问index控制器时,它没跳转到login页面,而是跳出警告页面提示 “网页生成了过多的重定向。清除此网站的 Cookie 或允许第三方 Cookie 可能会解决该问题”。这到底为什么,哪错了。图片如下。 展开
 我来答
ixyqq_net
推荐于2016-08-09 · TA获得超过888个赞
知道小有建树答主
回答量:1160
采纳率:0%
帮助的人:1286万
展开全部
你代码逻辑写错了,indexController 继承CommonController,的话,
我们访问index,检测 没有$_SESSION['uid‘] 或者 $_SESSION['username’];
会再次重定向到login,由于indexController 继承CommonController 而 CommonController 中相当于 _initialize 构造函数,是先走这一步,检测有$_SESSION['uid‘] 或者 $_SESSION['username’];会再次重定向到login,从而形成网页生成了过多的重定向
望采纳 Thx
更多追问追答
追问
哈哈。不愧大神。一下就看出来了。谢了谢了。  对了。我想问下。如果同一台电脑、同个浏览器、同个后台,我用两个不一样的账号同时登陆。怎么解决session冲突。用thinkphp时你一般会怎么做?先谢谢了呀。
追答
一般是不推荐这么做的,同个浏览器操作,肯定是替换成客户端的COOKIE值,

我们知道 session是基于COOKI的,
开发调试,可以采用2个浏览器来调试。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式