【发布时间】:2016-02-14 15:26:45
【问题描述】:
我正在对我在 CI2 中工作的 CMS 进行重新编码和更新到 CI3,而在我的一生中,我无法让我的重定向功能在 CI3 上为我工作。
除了重新设计我的模型之外,到目前为止,我的代码与我的 CI2 代码相同。最初我怀疑我的布局挂钩是罪魁祸首,但我已经完全禁用了他,我仍然没有得到任何结果。
public function login ()
{
//var_dump(logged_in());
//if (logged_in())
redirect('/user/');
}
以上是我目前的全部登录功能,来自我的用户控制器。为了查明这个问题,我删除了所有其他代码。我什至评论了if 声明,认为它甚至可能是罪魁祸首。没有。
我的logged_in() 函数返回 TRUE 或 FALSE,具体取决于我的用户会话中设置的某些内容。这似乎运行良好。据我所知,我的配置设置看起来不错。我已经自动加载了 URI 助手,并且其他 URI 助手方法正常运行。
现在是奇怪的部分。当我访问 /user/login 时,不仅我的页面不重定向,如果我在重定向之前取消注释 var_dump()(返回 true),并重新注释它,页面不会更新,我有bool(true) 在我的屏幕上无论如何。如果var_dump 被评论并且我打开一个新标签到users/login 它根本不会加载任何东西,它只是作为一个新标签挂出。
编辑:我忘了提到当我使用“刷新”标志 (redirect('/user/', 'refresh');) 时,它只会将我带到 about:blank 页面。
Edit#2:我已将 CI3 文件复制到一个新的“项目”中,即使是那些不会使用内置 Welcome_Message 视图/控制器组合重定向的文件。
【问题讨论】:
-
您是否遵循
CI3中的命名约定?? -
我的所有其他代码功能(到目前为止......)正确,我看不到重定向如何根据命名约定变得如此无效。但是,我的
login函数是class User extends Front_Controller的一部分,而Front_Controller扩展了MY_Controller。 -
MY_Controller在核心中?? -
我的重定向现在将我带到他们被调用的控制器的 index() 。也没有帮助。
-
正确,它在核心中。
MY_Controller文件包含MY_Controller、Front_Controller和Admin_Controller。
标签: php codeigniter redirect