首页 文章

如何避免Codeigniter在页面刷新时执行自动保存?

提问于
浏览
1

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

目标:我需要在登录后在cookie中设置会话,电子邮件和用户名,然后再将其恢复 . Kill cookie和cookie上的所有数据库数据到期或注销 .

问题:当我重新加载页面时,CI每次都会在db中创建新的会话记录 . 它确实对哪个页面很重要,即使刷新它也会使新的INSERT进入DB .

问题:如何停止进行自动保存的CI并使其在登录后保存会话并在注销后终止会话?

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.
    

相关问题