这是我在控制器中的代码:
$newdata = array(
'uid' => $usern,
'ou' => $filter
);
$this->session->set_userdata($newdata);
$this->masterpage->view('User/homeuser');
这是我的代码视图:
<?php
$user = $this->session->all_userdata();
if ($this->session->userdata('uid')=='') {
redirect('main/main', 'refresh');
}
?>
但是,当我键入链接时:http://localhost/[system_name]/index.php/[controller_name]/index
(当uid为空时显示的链接,页面应重定向到主)
只显示空白页。它似乎没有重定向到主页面。有人能帮我吗?谢谢
您不能在视图中进行重定向。为此使用控制器,因此将检查会话数据的逻辑从视图移动到控制器。
视图是在请求的最后呈现的,所以如果有一些输出,php不会将您重定向到任何地方。你看到空白页面可能是因为你关闭了错误显示,但我相信如果你检查php错误日志,你会看到一个错误"无法修改标题"左右
如果您非常想在视图中进行重定向,请使用Javascript。
这是我做过的最愚蠢的事情。我只是忘了从图书馆导入会话。在我的公共职能中,我应该把这个职能放进去。
$this->load->library('session');
当你试图同时构建两个系统时,就会发生这种情况。无论如何,谢谢你的回复,并试图为我解决它。