路由问题,CodeIgniter

时间:2016-06-04 15:21:37

标签: codeigniter routing

这可能是一个非常愚蠢的问题,因为我是PHP框架的新手。但我有MVC框架的概念。但这个路由事情让我非常困惑。

我为仪表板创建了一个控制器和视图,并将其设置为默认值。然后我想检查用户是否已登录,然后将其发送到登录页面,如果不是。

所以,我在路线上做的是:

$route['default_controller'] = 'dashboard/index';

$route['login'] = 'login';

但即使我添加了一千多个控制器和路由,它仍然是默认的,即仪表板。这应该有效http://localhost/codeigniter/login。我非常确定我没有在登录页面中放置重定向到仪表板的代码。

2 个答案:

答案 0 :(得分:0)

首先,了解在codeigniter中进行路由非常重要。

理解的关键是$ route ['url / path'] = controller / method(或“public function”)

因此。在您的情况下,您路由到Login控制器和索引方法(或索引函数......这是codeigniter的解释)

如果要检查用户是否已登录,您可以尝试检查被叫functon中的检查会话变量。但这取决于您的申请。但我认为在routes.php中检查它并不是一个好主意

希望它对你有所帮助。

答案 1 :(得分:0)

路由中的默认控制器将是打开索引或第一页的控制器。 如果您的第一页位于控制器“页面”中,那么这是您的默认控制器。请勿将其用于安全的仪表板页面 您的第一页应该是控制器中的索引方法。看起来应该是这样的

$route['default_controller'] = "pages";

页面是您的第一个页面控制器