codeigniter を使用してセッションをデータベースに保存するのに問題があります。
ユーザーがログインすると、セッションが作成され、データベースに保存されます。データはデータベースに入力されます。ユーザーがログアウト ボタンを使用すると、セッション データは空になりますが、セッションはデータベースにまだ存在します。
問題は、ユーザーがログアウト ボタンを使用せずに Web ブラウザーを閉じた場合です。セッション データは空にはなりませんが、ユーザーはログアウトしたままです。(設定ファイルでこれを設定しました)セッションはデータベースで破棄されるはずですが、そうではありません!
ユーザーが「ログアウト」ボタンをクリックした後に再度ログインすると、ユーザーが最初にログインしたときに作成されたセッションにデータが再び入力されます。したがって、これで問題はありません。
しかし、ユーザーがブラウザーを閉じた後に再度ログインすると、新しいセッションが作成されます。
この問題は、ユーザーがブラウザーを閉じるたびにセッションが作成され、セッションが無限に続くことになります。
私を混乱させる何か: アカウントでログインすると、セッションが作成されます。その後、そのアカウントでログアウトし、別のアカウントでログインすると、セッションは他のアカウントと同じレコードに保存されます。セッション テーブルの新しいレコードはいつ作成されますか?
codeigniter のバージョン 2.1.3 を使用しています。
私は何を間違っていますか?
//Session config:
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;