0

論理的には、ユーザーがログアウトすると、再度ログインするまでシステムに再び入ることはできません。ログインしたユーザーのいくつかのセッション データと Cookie を使用しています。ユーザーがログアウトしたときに、このセッション データと Cookie を削除したいと考えています。私が使う

delete_cookie("cookie_name");
$this->session->sess_destroy();

$config['sess_time_to_update']また、 ro を設定します0

しかし、これは機能しませんでした。セッション データと Cookie は削除されませんでした。ユーザーがログアウトしたら、すべてのセッション データと Cookie を削除するためにできること。

4

2 に答える 2

0
$this->session->sess_destroy();

すべてのセッション データを削除する必要があります。セッション データが削除されていないことをどのように確認できますか。sess_destroy(); の直後 セッション データの 1 つをエコーし​​ようとします。

echo $this->session->userdata('item_name');

このようにCookieを削除した後、同じようにechoを使用します-

echo get_cookie('cookie_name');

これは、ユーザーがログインし続ける方法のロジックだと思います。ログインしているユーザーのセッションが存在するかどうかを確認していない可能性があります。ユーザーがアクセスするすべてのページ (メソッド) のセッションと Cookie を確認する必要があります。これを行う最善の方法は、コンストラクターにチェッカー関数を配置することです。

于 2013-05-27T06:50:55.307 に答える
0

これを試して -

http://php.net/manual/en/function.setcookie.php

// unset cookies
if (isset($_SERVER['HTTP_COOKIE'])) {
    $cookies = explode(';', $_SERVER['HTTP_COOKIE']);
    foreach($cookies as $cookie) {
        $parts = explode('=', $cookie);
        $name = trim($parts[0]);
        setcookie($name, '', time()-1000);
        setcookie($name, '', time()-1000, '/');
    }
}

http://www.php.net/manual/en/function.setcookie.php#73484

于 2013-05-27T08:30:09.950 に答える