1
我正在爲學校建立一個類似博客的小型系統。我需要在cookie中存儲一些數據以及在db和cookie中保存會話。如果你在config/config.php中設置它,並且在config/autoload.php中加載會話庫,codeigniter(CI)會自動將數據庫和cookie中的會話保存爲數據庫和cookie。如何避免Codeigniter在頁面刷新上執行自動保存?
目標:我需要設置會話,電子郵件和登錄後在cookie中輸入用戶名,然後再取回。在cookie上殺掉cookie和所有db數據到期或註銷。
問題:CI在每次重新加載頁面時都會在db中創建新的會話記錄。它劑量真的很重要哪個頁面,甚至在刷新它使新插入到DB。
問題:我應該如何停止創建autsave的配置項,並使其僅在登錄後保存會話並在註銷後終止會話?
感謝您的回覆。你的文章幫助我解決了問題。其實ci文檔說你可以給表名添加你想要的名字,但是你必須在config.php中設置這個名字'$ config ['sess_cookie_name'] ='here';'所以我做了一個研究。並得出結論,您可以根據需要命名會話表,但Cookie名稱不能是「會話」。我不知道爲什麼,但是當我將它設置爲'$ config ['sess_cookie_name'] ='session'時;'ci開始在每個刷新和頁面視圖上創建錶行。 – 2012-04-18 16:57:18
問題解決了,現在我的config.php配置如下:'$ config ['sess_cookie_name'] \t \t ='ab_sessions'; $ config ['sess_expiration'] \t \t = 7200; $ config ['sess_expire_on_close'] \t = TRUE; $ config ['sess_encrypt_cookie'] \t = FALSE; $ config ['sess_use_database'] \t = TRUE; $ config ['sess_table_name'] \t \t ='ab_sessions'; $ config ['sess_match_ip'] \t \t = FALSE; $ config ['sess_match_useragent'] \t = TRUE; $ config ['sess_time_to_update'] \t = 300;'非常感謝你! – 2012-04-18 16:59:52