使用codeigniter 3.0,当id为null时,会话重定向到home

时间:2015-11-08 04:19:47

标签: php codeigniter session

这是我在控制器中的代码:

$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为null时,页面应重定向到main)

仅显示空白页面。它似乎没有重定向到主/主页面。谁能帮我 ?感谢。

2 个答案:

答案 0 :(得分:1)

您无法在视图中进行重定向。为此使用控制器,因此移动逻辑以检查从视图到控制器的会话数据。

视图在请求的最后呈现,因此如果有一些输出,php将不会将您重定向到任何地方。您看到空白页可能是因为您关闭了错误显示,但我相信如果您检查php错误日志,您会看到有错误&#34;无法修改标题&#34;左右。

如果您想要在视图中进行重定向,请使用Javascript。

答案 1 :(得分:0)

这是我做过的最愚蠢的事情。我忘了从库中导入会话。所以我的公共功能应该放这个功能。

$this->load->library('session');

当您尝试同时构建两个系统时会发生这种情况。无论如何,感谢您的回应,并试图为我解决。