[英]Codeigniter session class not working
我在autoload.php中加載了會話類,但是當我使用CodeIgniter會話時,什么也沒有發生。
示例:我設置了閃存數據:
$this->session->set_flashdata('message', 'HELP!');
當我打印此信息時,什么都不會發生!
例:
echo $this->session->flashdata('message');
我的代碼有什么問題?
注意:一般來說,我在使用CodeIgniter會話時遇到問題,但在使用set_flashdata和set_userdata時遇到問題。
更新:
這是服務器問題,現在已經解決。 謝謝大家!
Flash數據僅可用於該特定會話中的下一個服務器請求。 表示如果您在加載視圖后提出了其他請求或進行了重定向,則Flash消息將不會出現。 這樣別忘了在配置文件自動加載會話庫中添加加密鍵密鑰,並且在加載視圖后不要嘗試重定向到另一個頁面。 希望這能回答您的問題
沒有任何反應,因為:
$this->session->set_flashdata('message', 'HELP!');
只是在會話“消息”中設置“幫助”;
$this->session->set_flashdata('error', 'WOOPS!');
您還需要在視圖中設置一些條件,以便閱讀會話並查看結果:
<?php
if($this->session->flashdata('message'))
{
?>
<div class="container" style="padding-top:80px;">
<div class="alert alert-info alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<?php echo $this->session->flashdata('message');?>
</div>
</div>
<?php
}elseif($this->session->flashdata('error')){
?>
<div class="container" style="padding-top:80px;">
<div class="alert alert-warning alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<?php echo $this->session->flashdata('error');?>
</div>
</div>
<?php
}
?>
如您所見,這里有兩個示例,一個用於消息(成功),另一個用於錯誤(失敗)
編輯:
作為您評論的回應,我將其發布在這里,因為在評論中將不可讀:
如您所說,您已經做到了:
$autoload['libraries'] = array('database','session');
您是否還在配置中進行了設置?
$config['encryption_key'] = 'DCF564RT9JN761AZX56FR76Rd8hg6s12';
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_session';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
從Codeigniter官方網站下載最新版本的Codeigniter(版本3.1.6),然后將系統文件夾替換到您的Codeigniter項目中,它將起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.