codeigniter在会话中传递数组并检索

时间:2013-07-03 11:36:09

标签: arrays codeigniter session

我想在codeigniter会话中传递数组,并希望在另一个函数中检索它以下是我的代码,我将数组传递给会话

$deliveryData = array(
                    'User_ID' => $this->input->post('User_ID'),
                    'Order_dArea' => $this->input->post('Order_dArea'),
                    'Order_dAddress' => $this->input->post('Order_dAddress'),
                    'Order_PMethod' => $this->input->post('payment_mode'),
                    'Order_dMdate' => $Order_modifieddate
                    );

            $this->session->set_userdata('deliverdata', $deliveryData);

我以这种方式检索会话

$getDeliveryData = $this->session->all_userdata('deliverdata');

我得到了这个输出

array(12) { ["session_id"]=> string(32) "d369b835203b7da7f9c27e93e6444bd2" ["ip_address"]=> string(9) "127.0.0.1" ["user_agent"]=> string(65) "Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0" ["last_activity"]=> int(1372851183) ["user_data"]=> string(0) "" ["cartreturn"]=> string(1) "1" ["username"]=> string(5) "admin" ["is_loggedin"]=> int(1) ["login"]=> string(5) "aqeel" ["password"]=> string(10) "ictbeam321" ["cart_contents"]=> array(4) { ["d3d9446802a44259755d38e6d163e820"]=> array(6) { ["rowid"]=> string(32) "d3d9446802a44259755d38e6d163e820" ["id"]=> string(2) "10" ["qty"]=> string(1) "1" ["price"]=> string(4) "1200" ["name"]=> string(11) "soup item 1" ["subtotal"]=> int(1200) } ["c51ce410c124a10e0db5e4b97fc2af39"]=> array(6) { ["rowid"]=> string(32) "c51ce410c124a10e0db5e4b97fc2af39" ["id"]=> string(2) "13" ["qty"]=> string(1) "1" ["price"]=> string(4) "1400" ["name"]=> string(11) "soup item 2" ["subtotal"]=> int(1400) } ["total_items"]=> int(2) ["cart_total"]=> int(2600) } ["deliveryfee"]=> int(182) } 

现在我想得到原始数组值,以便我可以使用它

3 个答案:

答案 0 :(得分:13)

试试这个:

<?php
    $deliveryData = array(
                'User_ID' => $this->input->post('User_ID'),
                'Order_dArea' => $this->input->post('Order_dArea'),
                'Order_dAddress' => $this->input->post('Order_dAddress'),
                'Order_PMethod' => $this->input->post('payment_mode'),
                'Order_dMdate' => $Order_modifieddate
                );
    $this->session->set_userdata('deliverdata', $deliveryData);         #to set the session with the above array

    ### for retrieving the session values ###
    $deliveryData   = $this->session->userdata('deliverdata');          #will return the whole array

    ### for retrieving any single element from the session ###
    $userid         = $this->session->userdata['deliverdata']['User_ID'];
?>

答案 1 :(得分:0)

您正在获取所有会话数据,而您只需要部分数据。而不是做

$getDeliveryData = $this->session->all_userdata('deliverdata');

我认为你必须要做

$getDeliveryData = $this->session->userdata('deliverdata');

答案 2 :(得分:-1)

//first page
$menu_records=array();
$this->session->set_userdata('logged_in', $menu_records);

//second page
var_dump($this->session->userdata['logged_in']);
相关问题