私はセッション変数を$userID
に変えています。CodeIgniterで新しいセッションを開始
これで、別のコントローラ内で変数を使用する必要があります。セッション$this->session->sess_destroy();
の後に新しいセッションを開始しようとしました。
次に、私の2番目のコントローラーでセッションデータを取得しようとしましたが、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
場合は、変数が出力します。しかしそれは2番目にはありません。
提案:header()の代わりにdie; urlヘルパーからcodeigniter redirect()を使用しないでください。 – user4419336