[英]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.