儘管在這裏有無數類似的問題,但它們中的其中一個對我而言並不起作用。所以,我決定在這裏發佈。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
只是一個提示,而不是寫如'$ 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