【问题标题】:How to avoid this looping when try to reach index()尝试到达 index() 时如何避免这种循环
【发布时间】:2012-08-13 20:47:29
【问题描述】:

我正在尝试检查是否设置了$this->current_user,否则会重定向到登录页面,但因为 Wall 是我的默认路由,它会循环并给我一个 500 内部服务器错误,有没有关于如何使用它的一些想法?我使用PyroCMS,他们使用IonAuth

class Wall extends Public_Controller {

   public function __construct() {
        parent::__construct();

    if (empty($this->current_user)) {
         $this->session->set_flashdata('error', 'Debes iniciar sesión para acceder a esta página');
         redirect(site_url());
     }
    }

 }

提前致谢

【问题讨论】:

  • 嗯...重定向到其他地方?这里有什么问题?
  • @orourkek Wall 被定义为我的默认控制器,因此每当应用程序尝试在未登录的情况下访问 index() 时,它都会先执行 __construct,因此循环并重定向到其他地方不是t 一个选项,因为破坏了整个应用程序逻辑
  • 你说你正在重定向到/login,但你只是将site_url()作为重定向参数。您确实回答了问题中的问题 ...

标签: codeigniter codeigniter-2 pyrocms ion-auth


【解决方案1】:

redirect() 方法重定向到一个 URL。您可以使用 redirect(site_url('login'));只要您确保已准备好名称为“login”的控制器。

如果您不想使用 site_url(),也可以将 URL 硬编码为:

重定向('http://www.yoursite.com/login');

【讨论】:

  • 感谢之前没想到!它现在可以工作了,我直接重定向到登录表单
猜你喜欢
  • 2020-06-29
  • 2011-08-14
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 1970-01-01
相关资源
最近更新 更多