2012-10-18 22 views
1

我的項目有幾個視圖,這些視圖從session-> userdata數組中繪製值。整個項目在我的開發機器上完美地工作,但是當我將項目複製到服務器時,我發現$ this-> session-> userdata爲空。Codeigniter Session-> userdata爲null

這是插入一些值到會話級>用戶數據數組的代碼: 這就是所謂在控制器中。

$sessionArray = array(
      'web_id' => $id, 
      'paperId' => $paperId, 
      'prelimId' => $prelimId, 
      'intakeId' => $intakeId, 
      'finalId' => $finalId, 
    ); 

    $this->session->set_userdata($sessionArray); 

在視圖文件我稱之爲

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

返回的值是零。正如我之前提到的,我的開發計算機(運行WAMP)中的數組不是null。有誰知道爲什麼?

+0

您確定在實時服務器上正確設置了Cookie嗎? –

回答

3

爲了獲取所有的會話數據作爲ASSOC數組,你可以使用all_userdata()方法。 (看看笨user guide

你可以寫你的控制器內和返回值發送到視圖,如下所示:

$data['userdata'] = $this->session->all_userdata(); 
$this->load->view('your/view.php', $data); // use $userdata in the view 

注:使用會話庫直接在的意見may cause unexpected problems。嘗試管理您的會話控制器而不是查看

+0

遵循你的建議,問題變得陌生。現在,當我的視圖加載時,'var_dump($ this-> session-> all_userdata());'產生完全空白的頁面。錯誤報告在Codeigniter中打開,var_dump後面沒有退出語句。正如我在上面的帖子中所述,這個問題只存在於Web服務器上。我的開發機器向我展示了一系列有用的信息。任何其他想法? – GRY

+0

嘗試[這種方法](http://codeigniter.com/forums/viewthread/178904/#849526),似乎配置有問題。 –

0

對不起,這裏張貼在回答塊首先的..........當你到$ sessionArray這些值分配。我的意思是在模型或控制器或視圖文件中。

你打電話的var_dump($這 - >會話級>用戶數據)的視圖文件。

爲什麼不在控制器中調用該函數,並將其作爲數組通過控制器查看文件。

嘗試像這樣的控制器我將獲得$登錄陣列用戶信息從數據庫假設當我提交的用戶名和密碼。

我會在控制器的詳細信息發送到session數組像這樣的模型文件

$this->session->set_userdata('logged_in_user', $login); 

,如果我想從會議陣,我將使用如下使用的用戶名。

$logged_in = $this->session->userdata("logged_in_user"); 
$model=array(); 
$model['logged_in_user']=$logged_in[0]; 

一旦我分配到$模型排列後,我喜歡用,在視圖文件,所以我將傳遞$模型排列,從控制器查看文件中像這樣

$this->load->view('view_file_path',$model); 

您可以使用數組在視圖文件中,你想從傳遞的數組中獲得什麼。

+0

我想你建議我從控制器傳遞數據。謝謝。 – GRY

+0

是的,這將使你更容易 –

相關問題