我正在为学校建立一个类似博客的小型系统。我需要在cookie中存储一些数据以及在db和cookie中保存会话。如果你在config / config.php上设置它以及在config / autoload.php中加载会话库,Codeigniter(CI)会自动保存数据库和cookie中的会话
目标:我需要在登录后在Cookie中设置会话,电子邮件和用户名,然后再将其恢复。 Kill cookie和cookie上的所有数据库数据到期或注销。
问题:当我重新加载页面时,CI每次都会在db中创建新的会话记录。它看起来很重要,即使刷新它也会使新的INSERT进入DB。
问题:如何停止进行自动保存的CI并使其在登录后保存会话并在注销后终止会话?
答案 0 :(得分: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.