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 –