【问题标题】:Redirecting modules controller to one specific controller in HMVC codeigniter将模块控制器重定向到 HMVC codeigniter 中的一个特定控制器
【发布时间】:2013-07-27 14:41:33
【问题描述】:

使用 codeigniter 制作离线应用。该应用程序用于存储客户端数据。我使用了 codeigniter hmvc 方法。现在我的应用程序中有大约八个模块,例如模板、搜索、客户端、用户等。用户模块检查管理员身份验证。未来模块的数量将会增加。

现在要检查用户是否以管理员身份登录,我在 __construct() 函数的每个模块中都使用了这段代码,没有模板和用户模块,因为当我尝试将此代码放入模板或用户控制器时,Firefox 会说Page could not be redirected properly

if(!$this->session->userdata('user_type')){
    redirect(base_url().'users/login');
} 

将这段代码粘贴到模板和用户模块会产生问题。当我删除此代码时,一切正常。这样用户仍然可以在不登录的情况下访问模板和用户模块。

我只是想知道是否有更好的方法可以做到这一点,而无需在每个控制器中粘贴这段代码或让访客在没有登录的情况下不访问任何模块或方法。

【问题讨论】:

  • 更新问题。放一些登录功能的代码。我会尽力帮助你的!

标签: codeigniter redirect login hmvc


【解决方案1】:

如果您使用 HMVC,则可以这样做:

if(!$this->session->userdata('user_type')){
    redirect('module_name/users/login'); // change module_name with your module name
}

更新: 也许,你在一个页面上重定向也重定向......并穿上循环

【讨论】:

  • 检查文件名和路径是否一切正常,因为我每天都使用它并且它有效。我总是以这种方式使用 HMVC 和重定向,并且可以正常工作。
  • 当然,它可以像魅力一样在其他模块上运行,但是 .我束手无策,为什么它不适用于模板和用户。顺便说一句,我在每个模块中都使用了模板模块! ?
  • 我使用这个 CodeIgniter HMVC 库。效果很好,而且非常清晰! net.tutsplus.com/tutorials/php/…
  • UPDATE: Maybe, You redirect on one page that redirect also... and put on loop @ Erman Belegu 。嗯,这可能是问题...
  • 检查一下,因为你可以循环控制器,并相互重定向。请再检查一遍,因为错误是这样说的!
【解决方案2】:

如果您已指定完整的站点 url,则在重定向中已经有路径,而不使用 base_url()
试试这个:

if(!$this->session->userdata('user_type')){
    redirect('/users/login');
} 

【讨论】:

  • 对不起,但没有一个重定向工作......我尝试了很多方法。但是将这段代码粘贴到创建问题的模板和用户模块中
  • 页面未正确重定向 Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。
  • 在其他页面可以工作吗?我的意思是你测试了其他页面还是只有这个重定向不起作用?
  • 仅在模板和用户控制器上不起作用..它在其余模块中工作正常。
  • ok 检查名称约定并尝试输入 ini_set('display_errors',1);看看有没有问题@shahriar31
猜你喜欢
  • 2017-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-02
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多