codeigniter重定向到另一个目录视图

时间:2017-05-20 11:10:07

标签: php codeigniter codeigniter-3

如何重定向到另一个目录视图 我在views目录中有两个目录为

views->
     public->
          login.php
      admin->
           admin_panel.php

在控制器中,如果成功,我想重定向页面

管理 - > adminpanel.php 其他 公共 - >登录

if($this->form_validation->run()){

    $this->load->view('admin/admin_panel');

}
else{
        $this->load->view('public/admin_login');
}   

2 个答案:

答案 0 :(得分:2)

您可以这样做:

if($this->form_validation->run()){
    // redirect to admin panel controller
    redirect('admin/admin_panel', 'refresh');
}

// load this pages views
$this->load->view('public/header_view');
$this->load->view('public/admin_login_view');
$this->load->view('public/footer_view');

重定向停止执行当前控制器,因此这里不需要else语句。

您应该只对页眉或页脚或任何公共块进行一次编码(除了您的管理面板可能拥有自己不同的标题视图文件)。然后,您可以链接加载视图调用,以根据需要使用其他页面上使用的块创建任何布局的页面。

重定向中的“刷新”只意味着该网址也会发生变化,就像用户实际点击了该网址上的网址一样。没有它,原始的form_post网址将会显示。

希望有所帮助,

保罗。

答案 1 :(得分:1)

首先我将页眉和页脚放在admin_panel.php

管理 - > admin_panel.php

<?php include('../public/public_header.php');?>

<h5 class="lead">Admin Panel</h5>
<?php include('../public/public_footer.php');?>

现在我从上面的文件中删除页眉和页脚行 并将其放在控制器文件

if($this->form_validation->run()){

                    $this->load->view('public/public_header');
                    $this->load->view('admin/admin_panel');
                    $this->load->view('public/public_footer);

                }else{

                    $this->load->view('public/admin_login');


                }