1

我正在为学校构建类似博客的小型系统。我需要在 cookie 中存储一些数据以及在 db 和 cookie 中保存会话。如果您在 config/config.php 上设置它以及在 config/autoload.php 中加载会话库,Codeigniter (CI) 会自行将会话保存在数据库和 cookie 中

目标:我需要在登录后在 cookie 中设置会话、电子邮件和用户名,然后再将其取回。杀死 cookie 和 cookie 上的所有 db 数据过期或注销。

问题:每次重新加载页面时,CI 都会在数据库中创建新的会话记录。哪个页面真的很重要,即使在刷新时它也会将新的插入到数据库中。

问题:我应该如何停止 CI 进行 autsave 并使其仅在登录后保存会话并在注销后终止会话?

4

1 回答 1

3

您是否使用这种确切的语法创建了会话 CI 表?我注意到它带来了许多问题。

--
-- Table structure for CodeIgniter ci_sessions.
--
DROP TABLE IF EXISTS `ci_sessions`;

CREATE TABLE IF NOT EXISTS  `ci_sessions` (
  `session_id`    varchar(40)           DEFAULT '0' NOT NULL,
  `ip_address`    varchar(16)           DEFAULT '0' NOT NULL,
  `user_agent`    varchar(120)                      NOT NULL,
  `last_activity` int(10)      unsigned DEFAULT 0   NOT NULL,
  `user_data`     text,
  PRIMARY KEY (`session_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;

-- -------------------------------------------------------------
--  `user_data` text,       COMMENT - maximum length of 65535 characters.
--  `user_data` mediumtext, COMMENT - maximum length of 16777215 characters.
--  `user_data` longtext,   COMMENT - maximum length of 4294967295 characters. 
于 2012-04-18T14:03:58.910 回答