在Codeigniter中将uri段变量从一个函数传递到另一个函数

时间:2016-01-24 08:47:03

标签: php codeigniter codeigniter-3

您好寻求帮助。我最近开始使用Codeigniter进行编码。

我在同一个控制器中有2个功能。我需要' uri segment'从第一个功能到第二个功能试图谷歌但没有成功。

这是我的控制器:

public item_page() {
    $id = $this->uri->segment(3);
    $this->load->view('view');
}

public validation() {
    // Form Validation Goes Here
    if($this->form_validation->run() == FALSE) {
        $this->session->set_userdata('validation_errors', validation_errors());
        redirect('item-page/'.$id); // I need variable here
    } else {
    redirect('execute');
    }
}

1 个答案:

答案 0 :(得分:0)

你可以在你的班级中使用一些属性(控制器)

控制器:

private $page_id;

public item_page() {
    $id = $this->uri->segment(3);
    $this->page_id=$id;
    $this->load->view('view');
}

public validation() {
    // Form Validation Goes Here
    if($this->form_validation->run() == FALSE) {
        $this->session->set_userdata('validation_errors', validation_errors());
        redirect('item-page/'.$this->page_id); // I need variable here
    } else {
    redirect('execute');
    }
}

////// 方法2:

public item_page() {
        $id = $this->uri->segment(3);
        $this -> session -> set_userdata('id', $id);
        $this->load->view('view');
    }

    public validation() {
        // Form Validation Goes Here
        if($this->form_validation->run() == FALSE) {
            $this->session->set_userdata('validation_errors', validation_errors());
            redirect('item-page/'.$this -> session -> userdata("id")); // I need variable here
        } else {
        redirect('execute');
        }
    }
希望这有帮助。