php - 此网页生成了过多的重定向。清除此网站的 Cookie 或允许第三方 Cookie 可能会解决此问题。
高洛峰
高洛峰 2017-04-10 17:14:25
[PHP讨论组]

网页提示:此网页生成了过多的重定向。清除此网站的 Cookie 或允许第三方 Cookie 可能会解决此问题。如果不能解决,可能是服务器配置有问题,而不是您的计算机有问题。

一个网站,分为前台和后台,都需要各自的帐号密码登录。
为了保存登录状态,我把登录信息session存在cookie里,设置cookie的过期时间无限长,如果session过期就从cookie中取出登录信息进行验证登录。

前台没有任何问题,可以自动登录,后台在关闭浏览器session失效后再进入,提示:此网页生成了过多的重定向。清除此网站的 Cookie 或允许第三方 Cookie 可能会解决此问题。如果不能解决,可能是服务器配置有问题,而不是您的计算机有问题。

前后台的代码基本是一样的:

  1. 检测session是否存在,session存在直接进入

  2. session不存在,检测cookie,通过cookie获取登录信息登录。信息正确进入,信息错误跳转至登录界面。

  3. session和cookie都不存在,跳转至登录界面。

    //验证是否登录
    public function _initialize(){

        $session=session('uid');
        $cookie=cookie('auto');

        //session失效 cookie失效
        if(!isset($session) AND !isset($cookie)){
            $this->redirect('Login/login',array(),1,'请先登录');
            exit;
        }

        //session失效 cookie有效
        if(!isset($session) AND isset($cookie)){

            //使用cookie登录
            $AdminModel=D('Admin/Admin');
            $result=$AdminModel->login($cookie);

            if($result>0){//登录成功

                //判断管理员身份
                if($result==1){//超级管理员
                    $this->redirect("Task/task1");
                    exit;
                }elseif($result>1){//普通管理员
                    $this->redirect("Eat/displayEat");
                    exit;
                }

            } else {//登录失败 cookie中的信息不可用
                $this->redirect('Login/login',array(),1,'登录信息已改变,请重新登录');
                exit;
            }

        }
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
天蓬老师

不知道你的Login/login方法是否继承了_initialize()?如果继承了,必然重定向变成死循环!

ringa_lee

重定向问题,清除该网站cookie。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号