0
我的config.php設置笨記得我的登錄由會話
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
按照文檔的做工精細,會議瀏覽器結束止。 但是如果我想保持1年的會話(記住我的功能)。
我試圖覆蓋記住我的設置。但未能
$new_expiration = (60*60*24*365); //A year milliseconds
$this->config->set_item('sess_expiration', $new_expiration);
$this->config->set_item('sess_expire_on_close', FALSE);
$this->session->sess_expiration = $new_expiration;
$this->session->sess_expire_on_close = FALSE;
$this->session->set_userdata('name','virat');
在另一個文件
echo $this->session->userdata('name');
print_r($this->session->userdata());
檢查代碼有沒有辦法忽略默認設置來保存會話? 我做錯了什麼? 版本:CI3
更新 - >> 我仍在努力實現目標。我想我找到了一個解決方法。 每次您閱讀會話時,CI都會更新會話Cookie文件。
另一個問題是CI不會簡單地通過$ this更新config.php值。
所以
public function __construct()
{
parent::__construct();
$this->CI = & get_instance();
$this->CI->config->set_item('sess_expiration', 1253);
}
請直接打電話給CI本身的工作原理。它會更新config.php變量。 另一點是你需要在每個控制器中做到這一點「一次讀取沒有config.php覆蓋」將清除cookie值和會話值。您也可以將其包含在MY_controller可選中。
你爲什麼不使用'cookie' insted的。 – Regolith
會議不能容納太多。使用cookie ... –
我可以,但只是嘗試會話,有什麼辦法嗎?也想到Cookie +數據庫,不想直接存儲用戶ID,將一個隨機的唯一號碼保存到cookie。 CI還通過db提供會話,Regolith,Abdulla Nilam –