CodeIgniter 3会话在页面刷新后破坏
问题描述:
尽管在这里有无数类似的问题,但它们中的其中一个对我而言并不起作用。所以,我决定在这里发布。CodeIgniter 3会话在页面刷新后破坏
那么问题是会话正在销毁页面刷新/重定向后。我使用XAMPP服务器(最新版本与PHP 7.x)在Windows 10,我认为,它与Codeigniter设置的问题,但是,我只是测试传统会话代码(没有Codeigniter),并且工作正常。
传统PHP代码(正常工作)
session_start();
if(!isset($_SESSION['admin'])) {
$_SESSION['admin']='test';
die('session not set, set it now');
}
else {
echo $_SESSION['admin'];
}
笨代码(这里的问题)
if($this->session->userdata('admin')) {
echo $this->session->userdata('admin');
}
else {
$this->session->set_userdata('admin', 'test');
echo 'session not set, set it now';
}
笨会话配置
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'C:\\xampp\\htdocs\\application\\cache\\session\\';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
注意相同笨代码工作正常WAMP服务器 - 视窗10
答
会话设置似乎是正确的,我想建议你,请在会议库的application/config/autoload.php
$autoload['libraries'] = array('session');
希望如此,这将帮助你
+0
如果我不加载它,我肯定会得到一个错误。 – muaaz
+0
我不明白,为什么你会得到一个错误,如果你会加载会话库,我认为这是正确的方式 –
只是一个提示,而不是写如'$ config ['sess_save_path'] ='C:\\ xampp \\ htdocs \\ application \\ cache \\ session \\';'使用'APPPATH'如'$ config ['sess_save_path'] = APPPATH。 'cache/session /';' – user4419336
我尊重你的建议,尽管我手动检查了目录'C:\\ xampp \\ htdocs \\ application \\ cache \\ session \\'并在那里找到会话文件,意味着,它工作正常。 – muaaz
所以当'print_r($ this-> session-> userdata);'你得到任何东西? – lalithkumar