我正在使用 codeigniter 我有一个编辑页面,向我显示空缺的所有信息。 加载此视图的(Vacancy)控制器方法如下所示,它确保所有数据都已预加载。
public function editVacancy($vacancyid)
{
$this->is_logged_in();
$this->load->model('vacancy/vacancies_model');
// Passing Variables
$data['title'] = 'Titletest';
$data['class'] = 'vacancy';
$orgadminuserid = $this->vacancies_model->getOrgAdminUserId($vacancyid);
if ((!is_null($orgadminuserid)) && ($this->auth_user_id == $orgadminuserid[0]->user_id)) {
$data['vacancyid'] = $vacancyid;
$data['vacancy'] = $this->vacancies_model->get($vacancyid);
$data['test'] = $this->session->flashdata('feedbackdata');
$partials = array('head' => '_master/header/head', 'navigation' => '_master/header/navigation_dashboard', 'content' => 'dashboard/vacancy/edit_vacancy', 'footer' => '_master/footer/footer');
$this->template->load('_master/master', $partials, $data);
}
}
在此视图中,我有不同的表单来更新不同的部分。 在我的'空缺'中,每个表单提交都采用不同的方法。控制器即可。
public function saveGeneralInfo()
{
$this->is_logged_in();
$this->load->model('vacancy/vacancies_model');
$vacancyid = $this->input->post('vacancyid');
$vacancyUpdateData = $this->vacancies_model->get($vacancyid);
$result = $this->vacancies_model->update($vacancyid, $vacancyUpdateData);
if ($result) {
$feedbackdata = array(
'type' => 'alert-success',
'icon' => 'fa-check-circle',
'title' => 'Success!',
'text' => 'De algemene vacature gegevens zijn geupdate.'
);
$this->session->set_flashdata('feedbackdata', $feedbackdata);
redirect("dashboard/vacancy/editVacancy/" . $vacancyid);
}
}
}
我在代码中指出的地方" //这里......"我希望反馈消息参数传递给我的主控制器方法'使用预填充数据加载视图。 (editVacancy)。
有干净的方法吗?
编辑:
我尝试使用flashdata,我更新了代码以插入flashdata。
但是当我做var_dump($ test)时;在我看来,它仍然是空的。
编辑2: 我注意到当我将$ _SESSION放在我的editVacancy控制器方法(正被重定向到)中的变量中时,var_dump在我的视图中,它不包含带有flashdata的ci_vars。
答案 0 :(得分:3)
您可以使用简单的redirect
函数代替redirect("dashboard/vacancy/editVacancy/".$vacancyid);
。
{{1}}