0

私は、codeigniter を使用した php の初心者です。codeigniter mvc フレームワークを使用した php セッションに関する問題があります。セッションの有効期限が切れたためにサイトにログインできないときに、テーブル (ci-sessions) を使用してセッション データを保存した場合..

  1. セッションクラスにvar $sess_table_name = 'ci_sessions';&を設定しました。var $sess_use_database = TRUE;
  2. config.php にも$config['sess_use_database'] = TRUE;& を設定しました。$config['sess_table_name']= 'ci_sessions';
  3. 次のようなデータベースにテーブルを作成しました-

    CREATE TABLE IF NOT EXISTS ci_sessions( session_id varchar(40) DEFAULT '0' NOT NULL, ip_address varchar(45) DEFAULT '0' NOT NULL, user_agent varchar(120) NOT NULL, last_activity int(10) unsigned DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY (session_id), KEY last_activity_idx( last_activity) );

それについて良い解決策を与えてください。

私を助けてください。

4

1 に答える 1

0

セッションの有効期限については、application->config->config.php に移動し、$config['sess_expiration'] をゼロに設定します ($config['sess_expiration']=0;)。これにより、セッションの有効期限がキャンセルされます。

セッションをテーブルに保存する場合は、テーブルが次のようになっていることを確認してください。

CREATE TABLE IF NOT EXISTS  `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);

もちろん、フィールドを追加することもできますが、その構造を念頭に置いてください。

于 2013-03-20T13:31:17.363 に答える