我使用CodeIgniter框架发布值并将它们存储为数组。我需要在下一页中使用这些数组值。
我怎样才能实现(不存储在数据库中)?
function next()
{
if(isset($_POST) && count($_POST) > 0)
{
$data = array(
'job_type' => $this->input->post('job_type'),
'job_partner' => $this->input->post('job_partner'),
'job_manager' => $this->input->post('job_manager'),
'job_owner' => $this->input->post('job_owner'),
);
$this->load->view("ca_recuring_job/cust_page", $data);
redirect(base_url()."ca_recuring_job/cust_page".$data);
}else{
$data['_view'] = 'ca_recuring_job/add';
$this->load->view('layouts/main',$data);
}
}
试试HTML存储,
localStorage.setItem("lastname", "Muthu");
localStorage.getItem("lastname");
您的代码的问题是您在加载视图后有重定向。
$this->load->view("ca_recuring_job/cust_page", $data);
redirect(base_url()."ca_recuring_job/cust_page".$data);
而不是重定向只是加载视图并传递您想要下一个视图的数据数组。您无法在重定向上传递数据。
如果您仍想使用重定向功能,请使用会话来存储您的数据,这样当您重定向到另一个控制器入口点时,您可以从会话中获取数据并发送到您的视图,或者您可以直接访问视图,具体取决于您的视图如何设置。
在会话上存储数据:
$this->session->set_userdata('whatever_key_you_want', $data);
要从会话中获取数据,请执行:
$data = $this->session->userdata('whatever_key_you_want');
你的redirect
使load->view()
不起作用。
只需删除此代码redirect(base_url()."ca_recuring_job/cust_page".$data);
您已将$data
扔到视图中,如果要在视图中编写数组数据,则必须编写第二个数组名称。你可以像我在你的视图中写下来一样写。
echo $job_type
echo $job_partner
echo $job_manager
echo $job_owner
希望它能解决你的问题。
您可以使用CI中的cookie,不要忘记在控制器中加载帮助程序
$这个 - >负载>帮手( '饼干');
如何申报:
$ setcookies = array('name'=>'nameYourcookies','value'=>'valueOfYourcookies','expire'=> time()+(86400 * 365),'path'=>'/',);
$这 - >输入 - > set_cookie($ setcookies);
如何使用它
$ get_cookie = get_cookie('YourCookieName');
https://www.codeigniter.com/userguide3/helpers/cookie_helper.html