php - CodeIgniter 3 重定向功能不起作用

标签 php codeigniter redirect

我正在重新编码和更新我的 CMS 我已经在 CI2 和 CI3 中工作,但在我的生活中,我无法让我的重定向功能在 CI3 上为我工作。

除了重新设计我的模型之外,我的代码到目前为止与我的 CI2 代码相同。最初我怀疑我的布局钩子(Hook)是罪魁祸首,但我已经完全禁用了他,但我仍然一无所获。

public function login ()
{
    //var_dump(logged_in());
    //if (logged_in())
        redirect('/user/');
}

以上是我目前的全部登录功能,来 self 的用户 Controller 。我删除了所有其他代码以查明此问题。我什至注释掉了 if 语句,认为它甚至可能是罪魁祸首。不。

我的 logged_in() 函数返回 TRUE 或 FALSE,这取决于我的用户 session 中设置的某些内容。这似乎运作良好。据我所知,我的配置设置看起来不错。我自动加载了 URI 帮助程序,并且其他 URI 帮助程序方法正常运行。

现在是奇怪的部分。当我访问/user/login 时,不仅我的页面没有重定向,如果我在重定向(返回 true)之前取消注释 var_dump(),然后重新注释它,页面不会'更新,无论如何我的屏幕上都有 bool(true)。如果 var_dump 被注释,并且我打开一个新标签页到 users/login 它根本不会加载任何东西,它只是作为一个新标签页挂起。

编辑:我忘记提到当我使用“刷新”标志时 (redirect('/user/', 'refresh');),这只会将我带到一个关于:空白页面。

编辑#2:我已经将 CI3 文件复制到一个新的“项目”中,即使那些文件也不会使用内置的 Welcome_Message View / Controller 组合进行重定向。

最佳答案

添加ob_start();到 Controller

<?php
ob_start();
defined('BASEPATH') OR exit('No direct script access allowed');

class Cart extends CI_Controller {
 // code here

}

关于php - CodeIgniter 3 重定向功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33686117/

相关文章:

php - 使用 html 表单和 php 发送 html 电子邮件?

通过 SSL 的 PHP ftp_put

php - 如何获取网站的子目录和文件名

php - Google 图书在 Codeigniter 中显示缩略图

php - 在页面加载时从一个页面转发到另一个页面时在网页中显示警报消息

php - 通过 SWIG 包装 C 回调

php - 如何查找另一个表中不存在的数据 CodeIgniter

php - codeIgniter 使用 mysql_real_escape_string() 代替。数据库连接问题

.htaccess - 如何将 http url 重定向到 https url?

docker - 如何将Docker容器中的外部链接重定向到本地服务