Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向前将数据从控制器函数传递到控制器函数_Php_Codeigniter - Fatal编程技术网

Php 重定向前将数据从控制器函数传递到控制器函数

Php 重定向前将数据从控制器函数传递到控制器函数,php,codeigniter,Php,Codeigniter,我正在使用codeigniter我有一个编辑页面,显示空缺的所有信息。 加载此视图的(空闲)控制器方法如下所示,它确保所有数据都已预加载 public function editVacancy($vacancyid) { $this->is_logged_in(); $this->load->model('vacancy/vacancies_model'); // Passing Variables $d

我正在使用codeigniter我有一个编辑页面,显示空缺的所有信息。 加载此视图的(空闲)控制器方法如下所示,它确保所有数据都已预加载

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);
                }
            }

    }
我在代码中指出的地方“//HERE…”是我希望将反馈消息参数传递给我的“主控制器方法”的地方,该方法使用预填充的数据加载视图。(空缺)

有没有干净的方法可以做到这一点

编辑:

我尝试使用flashdata,我更新了代码以插入flashdata

然而,当我进行var_转储($test)时;在我看来,它仍然是空的

编辑2:
我注意到,当我将$_会话放入EditSpaceController方法(被重定向到)中的变量中并将其转储到我的视图中时,它不包含带有flashdata的ci_变量。

而不是使用
set_header
您可以使用简单的
重定向
函数

redirect("dashboard/vacancy/editVacancy/".$vacancyid);

在传递数组变量时,这不会产生问题吗?根据您的问题,
$vacancyid
单个值。如果你可以分割数组并传递它。或者也可以使用flashdata,我希望传递$feedbackmsg参数,这是一个数组。使用重定向将所有错误字符串发送回URL是一个好主意吗?所以对于您的情况,最好的方法是使用FlashData。知道吗?我会用谷歌搜索出来,以前没听说过,谢谢你给我指明了另一个方向!