2014-02-24 23 views
0

我想將數據存儲在我的會話變量中,但我做的事情顯然是錯誤的。不能在codeigniter會話中存儲數據

我有以下代碼:

 $formValues = $this->input->post(NULL, TRUE); 
     echo "Form<pre>"; 
     print_r($formValues); 
     echo "</pre>"; 
     $this->session->set_userdata($formValues); 
     $sessionFormValues = $this->session->userdata('formValues'); 

     echo "MySess<pre>"; 
     print_r($sessionFormValues); 
     echo "</pre>"; 

     echo "Sess<pre>"; 
     print_r($this->session->all_userdata()); 
     echo "</pre>"; 

第一print_r的回報:

Array 
(
    [addtypeid] => 
    [isnew] => 
    [orderby] => 
    [geographicareaid] => 
    [catid] => 1 
    [catid2] => 
    [manufacturerid] => 
    [modelid] => 
    [yearofmanufacturing_from] => 
    [yearofmanufacturing_to] => 
    [hoursused_from] => 
    [hoursused_to] => 
    [horsepowers_from] => 
    [horsepowers_to] => 
    [price_from] => 
    [price_to] => 
    [colorid] => 
    [isdamaged] => 
) 

第二print_r的返回剛剛MySess(空數組)

而第三的print_r返回以下:

Array 
(
    [session_id] => 639ca0b53c8e68cda4e6d61605c4d227 
    [ip_address] => 94.68.157.85 
    [user_agent] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36 
    [last_activity] => 1393239192 
    [user_data] => 
    [addtypeid] => 
    [isnew] => 
    [orderby] => 
    [geographicareaid] => 
    [catid] => 1 
    [catid2] => 
    [manufacturerid] => 
    [modelid] => 
    [yearofmanufacturing_from] => 
    [yearofmanufacturing_to] => 
    [hoursused_from] => 
    [hoursused_to] => 
    [horsepowers_from] => 
    [horsepowers_to] => 
    [price_from] => 
    [price_to] => 
    [colorid] => 
    [isdamaged] => 
) 

任何人都可以指出我在做什麼變量$ sessionFormValues返回一個空數組?我怎樣才能得到一個單獨的變量formvalues數據?

的問候,約翰

+0

你是從形式發送空白字段其中 –

+0

一個不爲空。字段catid的值爲1. – user2417624

+0

使用print_r($ _ POST);然後在這裏顯示結果 –

回答

1

您的數據得到保存在會話不錯,但問題是,'formValues'鍵不存在。您需要更改

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

$this->session->set_userdata('formValues', $formValues); 
+0

工作。現在...我怎麼才能從會話中獲得$ formValues?我正在嘗試:echo「Sess

"; print_r($this->session->userdata($formValues)); echo "
」;但它不起作用。任何想法? – user2417624

+0

沒關係..我發現它... $ mySessData = $ this-> session-> userdata('formValues'); print_r($ mySessData);訣竅。謝謝。 – user2417624