我不知道如何在谷歌上发表这个问题所以我找不到任何答案。
在我的Views文件夹中,我有模板文件夹,里面有标题,导航栏,页脚。
每当我从控制器加载视图时,我都必须这样做,
$this->load->view('template/header');
$this->load->view('template/navbar');
$this->load->view('pages/pagename');
$this->load->view('template/footer');
如何使用重定向执行此操作?我不知道为什么,但每当我看到成功登录或失败的代码片段时,他们总是使用重定向功能而不是像上面那样加载视图。
例如:
function __construct() {
parent::__construct();
if($this->ion_auth->logged_in()==FALSE)
{
redirect('pages/login');
}
}
或者我可以使用它并且这仍然可以接受吗?
function __construct() {
parent::__construct();
if($this->ion_auth->logged_in()==FALSE)
{
$this->load->view('template/header');
$this->load->view('template/navbar');
$this->load->view('pages/login');
$this->load->view('template/footer');
}
}
答案 0 :(得分:1)
function __construct() {
parent::__construct();
if($this->ion_auth->logged_in()==FALSE)
{
redirect('controller/login');
}
}
在控制器中创建一个名为login
的函数function login() {
$this->load->view('template/header');
$this->load->view('template/navbar');
$this->load->view('pages/login');
$this->load->view('template/footer');
}
答案 1 :(得分:0)
在重定向中,您需要使用 controller / method_name
redirect('controllername');
或
redirect('controllername/method');
答案 2 :(得分:0)
而不是构造你可以使用重映射。如果用户是否已登录则重定向
REMAP
public function _remap($method, $params = array()){
if(method_exists($this, $method)){
if($this->ion_auth->logged_in()==FALSE){
return call_user_func_array(array($this, $method), $params); //home page
}
return call_user_func_array(array($this, 'login'), $params); //if not logged in
}
show_404();
}
LOGIN
public function login() {
$this->load->view('template/header');
$this->load->view('template/navbar');
$this->load->view('pages/login');
$this->load->view('template/footer');
}