我使用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);
}
}
答案 0 :(得分:0)
尝试HTML存储
localStorage.setItem("lastname", "Muthu");
localStorage.getItem("lastname");
答案 1 :(得分:0)
代码的问题在于您在加载视图后有重定向。
$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');
答案 2 :(得分:0)
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
希望它能解决你的问题。
答案 3 :(得分:0)
您可以使用来自CI的Cookie, 别忘了在控制器中加载帮助器
$这 - >负载>辅助( '的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
答案 4 :(得分:-1)
如果您的下一页是“ca_recuring_job/cust_page”并且想要传递该数组,只需使用 $this->load->view("ca_recuring_job/cust_page", $data);
加载该视图
并删除/注释此行 redirect(base_url()."ca_recuring_job/cust_page".$data);
。此行正在影响您的视图加载。
这可能对您有所帮助。