codeigniter - 在会话中存储发布数据并在视图中显示

Smu*_*ger 1 variables session post codeigniter

我有一个用户填充的codeigniter表单.在提交时,输入被发布到数组.然后,此数组将显示在作为变量加载的新视图中.

我的问题是,如果我因任何原因刷新视图,那些帖子就会丢失,新视图也无法显示变量.

如何将发布的数组存储为会话值,然后如何访问会话变量.

所以我的控制器是:

function new_blank_order_lines() 
  {
    $data = array(
    'customer' =>$this->input->post('customer'),
    'period' =>$this->input->post('period'),
    'buom' =>$this->input->post('buom')
       );

    $this->load->view('sales/new_blank_order_lines',$data);
  }
Run Code Online (Sandbox Code Playgroud)

new_blank_order_lines我可以显示与变量echo $customer

现在,如果我刷新视图new_blank_order_lines,则重新加载视图并丢失post变量.所以我想将$ data数组存储为一个会话,因此即使在页面重新加载/刷新之后它也可用.

有什么建议?

我想的是:

    function new_blank_order_lines() 
      {
        $data = array(
        'customer' =>$this->input->post('customer'),
        'period' =>$this->input->post('period'),
        'buom' =>$this->input->post('buom')
           );

        $this->session->$data

        $this->load->view('sales/new_blank_order_lines',$data);
      }
Run Code Online (Sandbox Code Playgroud)

这显然不起作用?如果它确实有效,我如何回显变量的值?

一如既往地谢谢,

jon*_*ixj 5

您如何处理用户提交给表单的信息?是不是保存到数据库或类似的?如果是这种情况那么为什么不从那里检索数据呢?

如果您只想暂时保存数据,可以像上一个示例中那样使用会话变量,但只需进行一些修改:

function new_blank_order_lines() 
  {
    $data = array(
    'customer' =>$this->input->post('customer'),
    'period' =>$this->input->post('period'),
    'buom' =>$this->input->post('buom')
       );

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

    $this->load->view('sales/new_blank_order_lines',$this->session->all_userdata());
  }
Run Code Online (Sandbox Code Playgroud)

请参阅用户指南