我有一个用户填充的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);
}
<{1>} new_blank_order_lines
我可以使用echo $customer
显示变量
现在,如果我刷新视图new_blank_order_lines
,则重新加载视图并丢失帖子变量。所以我想把$ 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);
}
这显然不起作用?如果它确实有效,我如何回显变量的值?
一如既往地谢谢,
答案 0 :(得分: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());
}
答案 1 :(得分:0)
$projectID = $this->input->post('projectID');
if($projectID!=''){
$this->session->set_userdata('projectID', $projectID);
}
发布数据在重新加载时不会过期使用此代码