Codeigniter会话不使用长数组

时间:2014-12-03 12:12:25

标签: php arrays codeigniter session

我必须为codeigniter会话分配一个长数组,但它不起作用。如果我使用的是带有三个四元素的数组,那么这项工作。我的数组如下。

     $value['id']                   = $checkout_product['checkout']['id'];
     $value['user_id']              = $checkout_product['checkout']['user_id'];
     $value['name']                 = $checkout_product['checkout']['name'];
     $value['maker']                = $checkout_product['checkout']['maker'];
     $value['model']                = $checkout_product['checkout']['model'];
     $value['color']                = $checkout_product['checkout']['color'];
     $value['size']                 = $checkout_product['checkout']['size'];
     $value['slug']                 = $checkout_product['checkout']['slug'];
     $value['route_id']             = $checkout_product['checkout']['route_id'];
     $value['description']          = $checkout_product['checkout']['description'];
     $value['quantity']             = $checkout_product['checkout']['quantity'];
     $value['p_units']              = $checkout_product['checkout']['p_units'];
     $value['images']               = $checkout_product['checkout']['images'];
     $value['label_type']           = $checkout_product['checkout']['label_type'];
     $value['product_type']         = $checkout_product['checkout']['product_type'];
     $value['auction_id']           = $checkout_product['checkout']['auction_id'];
     $value['product_id']           = $checkout_product['checkout']['product_id'];
     $value['budget_min']           = $checkout_product['checkout']['budget_min'];
     $value['budget_max']           = $checkout_product['checkout']['budget_max'];
     $value['bid_start_date']       = $checkout_product['checkout']['bid_start_date'];
     $value['bid_end_date']         = $checkout_product['checkout']['bid_end_date'];
     $value['status']               = $checkout_product['checkout']['status'];
     $value['bid_id']               = $checkout_product['checkout']['bid_id'];
     $value['bidder_id']            = $checkout_product['checkout']['bidder_id'];
     $value['bid_product_id']       = $checkout_product['checkout']['bid_product_id'];
     $value['bid_date']             = $checkout_product['checkout']['bid_date'];
     $value['bid_qty']              = $checkout_product['checkout']['bid_qty'];
     $value['bid_amount']           = $checkout_product['checkout']['bid_amount'];
     $value['total_amount']         = $checkout_product['checkout']['total_amount'];
     $value['payable_amount']       = $checkout_product['checkout']['payable_amount'];
     $value['shipping_in']          = $checkout_product['checkout']['shipping_in'];
     $value['shipping_method']      = $checkout_product['checkout']['shipping_method'];
     $value['shipping_amount']      = $checkout_product['checkout']['shipping_amount'];
     $value['pro_type']             = $checkout_product['checkout']['pro_type'];
     $value['warranty_month']       = $checkout_product['checkout']['warranty_month'];
     $value['warranty_type']        = $checkout_product['checkout']['warranty_type'];
     $value['bid_note']             = $checkout_product['checkout']['bid_note'];
     $value['bid_status']           = $checkout_product['checkout']['bid_status'];
     $value['customer_id']          = $checkout_product['checkout']['customer_id'];
     $value['customer_username']    = $checkout_product['checkout']['customer_username'];
     $value['customer_firstname']   = $checkout_product['checkout']['customer_firstname'];
     $value['customer_lastname']    = $checkout_product['checkout']['customer_lastname'];
     $value['customer_email']       = $checkout_product['checkout']['customer_email'];
     $value['customer_image']       = $checkout_product['checkout']['customer_image'];

     $this->session->set_userdata('checkout', $value);

此代码对我不起作用。请帮我告诉我如何在codeigniter中发布大数组。

1 个答案:

答案 0 :(得分:0)

默认情况下,CodeIgniter会将会话数据存储在cookie中,其大小取决于浏览器的大小2KB-4KB。 如果您尝试在会话中存储超过4KB的数据,您将开始遇到问题。

最简单的解决方案是store the session details in the DB。 Codeigniter会话文档详细说明了在DB中存储会话的过程。