这可能是一个非常愚蠢的问题,因为我是PHP框架的新手。但我有MVC框架的概念。但这个路由事情让我非常困惑。
我为仪表板创建了一个控制器和视图,并将其设置为默认值。然后我想检查用户是否已登录,然后将其发送到登录页面,如果不是。
所以,我在路线上做的是:
$route['default_controller'] = 'dashboard/index';
$route['login'] = 'login';
但即使我添加了一千多个控制器和路由,它仍然是默认的,即仪表板。这应该有效http://localhost/codeigniter/login
。我非常确定我没有在登录页面中放置重定向到仪表板的代码。
答案 0 :(得分:0)
首先,了解在codeigniter中进行路由非常重要。
理解的关键是$ route ['url / path'] = controller / method(或“public function”)
因此。在您的情况下,您路由到Login控制器和索引方法(或索引函数......这是codeigniter的解释)
如果要检查用户是否已登录,您可以尝试检查被叫functon中的检查会话变量。但这取决于您的申请。但我认为在routes.php中检查它并不是一个好主意
希望它对你有所帮助。
答案 1 :(得分:0)
路由中的默认控制器将是打开索引或第一页的控制器。 如果您的第一页位于控制器“页面”中,那么这是您的默认控制器。请勿将其用于安全的仪表板页面 您的第一页应该是控制器中的索引方法。看起来应该是这样的
$route['default_controller'] = "pages";
页面是您的第一个页面控制器