2011-09-02 87 views
0

我有通過測試的控制器示例名稱。CodeIgniter會話未保存

在索引方法中,我將創建會話,它將成功存儲在數據庫中,但是當我想以其他方法讀取它們時,它將在數據庫中創建另一個會話。 例如:

public function index(){ 
    $this->session->set_userdata('test','test'); 
} 
public function test(){ 
    echo $this->session->userdata('test'); 
} 

它不會迴應。當我檢查數據庫時,它創建了新的行。

+1

當你把它放在測試函數中時輸出什麼?的var_dump($這 - >會話級> all_userdata()); – Tobias

+0

我不認爲從你的控制器'echo'會傳播到你的視圖,但'var_dump($ this-> session-> userdata('test'))'會。作爲@Tobias:var_dump的輸出是什麼? – danneth

回答

1

我在其他地方(例如here)看到Codeigniter在本地主機上存在cookie問題,這會導致您描述的問題,因爲如果cookie無效Codeigniter將無法識別會話並且從數據庫收集這些信息。爲了驗證這個假設,你可以上傳你的應用程序到一個真實的服務器並在那裏嘗試。

0

我面臨同樣的問題,只是發現該系統的會話庫有一些問題設置的,它看起來像

setcookie(
       $this->sess_cookie_name, 
       $cookie_data, 
       $expire, 
       $this->cookie_path, 
       $this->cookie_domain, 
       $this->cookie_secure 
      ); 

我只是重新與

setcookie(
       $this->sess_cookie_name, 
       $cookie_data, 
       $expire, 
       $this->cookie_path, 
       $this->cookie_secure 
      ); 

寫了它和它的工作餅乾out fine