簡體   English   中英

Codeigniter會話異常行為

[英]Codeigniter session strange behavior

我存儲一個不同的會話,例如id,type,isloggedin,最后是comp_city,我將城市的名稱存儲到comp_city會話中。

例如,我將“ San Francisco”存儲到會話comp_city,並且成功,現在我重定向到另一頁,我想使用comp_city的值,但奇怪的是,不是以“ San Francisco”作為我的值,而是給了我“ img” '。 有什么問題嗎? 是因為我使用了太多會話嗎?

public function index($city='', $error=null)
{       
    if($city == '')
    {
        $city = 'San Francisco';
        $this->session->set_userdata(array('compcity' => $city));
    }else if($city)
    {
        $city = urldecode($city);
        $this->session->set_userdata(array('compcity' => $city));
    }

     .... 

查看所有會話的設置,使用以下代碼執行此操作並檢查您需要的會話。

 print_r($this->session->userdata); 

要么

print_r($this->session->all_userdata());

我有一個類似的問題,一個會話變量返回“默認”,另一個返回一個css文件的名稱。

我找不到確切的原因,但這解決了我的問題:

缺少一個CSS文件(在“默認”文件夾中)。 我修復了css文件的引用,會話問題不見了。

嘗試通過以下方式設置數據:

echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>';
$this->session->set_userdata('more_data', array('compcity' => $city));
echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>';

我非常肯定您將使用它的方式完全覆蓋整個會話。

錯誤

echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>';
$this->session->set_userdata(array('compcity' => $city));
echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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