簡體   English   中英

Codeigniter會話類不起作用

[英]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">&times;</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">&times;</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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM