2017-05-05 22 views
0

ユーザーをログアウトして、特定のシナリオでflashdataでメッセージを送信する必要があります。次のコードを試しましたが、セッションが再初期化されていないかのように見えます:CodeIgniter:sess_destroyの後でセッションを再初期化

if($user == NULL){ 

      $this->session->sess_destroy(); 
      $this->load->library('session'); 
      $this->session->set_flashdata("error", "message"); 
      redirect('/signin'); 
     } 

セッションをどのように再初期化できますか?

答えて

0

これは非常にハックですが、それは動作します:

私はその後、私は(別のコントローラに)別の関数にリダイレクトする1つのコントローラ

if($user == NULL){ 

      $this->session->sess_destroy(); 
      redirect('/subscribe_error'); 
     } 

でセッションを破棄

public function null_error(){ 
    $this->load->library('session'); 
    $this->session->set_flashdata("error", "message"); 
    redirect("/signin"); 
} 
0

あなたはこれを考慮する可能性があります

public function logout() 
{ 
    $items = ['name', 'is_logged_in']; //Or whatever designates the person as being logged in for you 
    $this->session->unset_userdata($items); 
    $this->session->sess_destroy(); 
    redirect('signin', 'refresh'); 
} 
関連する問題