如何重定向到另一个目录视图 我在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');
}
答案 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');
}