【发布时间】:2016-11-30 03:20:10
【问题描述】:
我有一个会话,我将其转换为变量$userID。
我现在需要在不同的控制器中使用该变量。我试图在会话$this->session->sess_destroy(); 之后开始一个新会话。
然后在我的第二个控制器上,我尝试获取会话数据,但我得到了 NULL。
第一个控制器
public function index()
{
if ($this->input->post('tid')) {
$this->session->userdata('user_id');
$userID = $this->session->userdata('user_id');
$this->session->sess_destroy();
$this->session->set_userdata($userID);
$this->input->post('userid');
$data['tid'] = $this->input->post('tid');
$this->load->view('client/login', $data);
} else {
header("Location: " . base_url() . "index.php/select");
die();
}
}
第二控制器
private function getResults()
{
$this->session->userdata('user_id');
$userID = $this->session->userdata('userid');
var_dump($userID);
}
如果我 vardump 在会话销毁后我的第一个控制器中的变量,该变量会打印出来。但是它不会在第二个。
【问题讨论】:
-
建议:代替header() die;为什么不使用 url helper 中的 codeigniter redirect()。
标签: php codeigniter session