私はコアphpウェブサイトに統合されたcodeigniterウェブサイトに取り組んでいます。問題は、ログアウトセッションが破棄されたりアンセットされたりしていない場合です。ユーザーが戻るボタンをクリックすると、セッションが既に実行されているため、内部ページに戻ることができます。ログアウト時にセッションが破壊されない?
私は既にcorephpを使ってセッションをアンセットして破壊しようとしましたが、運がないので、何かお勧めします。
これは私のログアウトコード
function logout()
{
session_start();
$this->session->set_userdata('user_id','');
$this->session->set_userdata('user_name','');
$this->session->set_userdata('business_id','');
$this->session->set_userdata('email','');
$this->session->set_userdata('user_type','');
$this->session->set_userdata('activation_status','');
unset($_SESSION);
$this->session->sess_destroy();
session_destroy();
header('location:'.base_url().'Login');
}
編集です:それは
function logout(){
$this->session->sess_destroy();
redirect('/');
}
のように単純である必要がありCodeIgniterのセッションライブラリを使用して、民間のブラウザではなく、通常の1
を試してみてください'$ this-> session'を印刷してみてください。何が表示されますか? –
私はcodeigniterのセッションを破壊する正確な関数が何であるのか分かりませんが、これは大丈夫だと私は思う: - 'function logout(){ $ this-> session-> sess_destroy(); session_destroy();header( 'location:'。base_url()。 'ログイン'); } ' –
' $ this-> session-> sess_destroy();だけが必要です。残りのすべてをコメントアウトして動作するかどうかを確認するには、 'session_start()'は必要ありません。 – Blinkydamo