Передача параметра между двумя функциями / видом - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть две функции в контроллере с именами step1 и step2.Я хочу передать массив данных между темой.Ниже приведен код контроллера.На шаге 1 у меня есть вход на шаге 2, у меня есть простое эхо, которое показывает значение $ data ['text1'].Это значение задает значение NULL в контроллере step2, а не индикатор того, что я печатаю в step1.

    public $data = array(
        'id' => '',
        'text1' => '',
        'text2' => ''
    );

    public function __construct()
    {
        parent::__construct();
    }

    public function step1()
    {
        $this->load->helper(array('form', 'url'));
        $this->load->library('form_validation');

        $this->form_validation->set_rules('text1', 'Text 1', 'rquired');
        if($this->form_validation->run() === FALSE)
        {
            $this->load->view('test/step1', $this->data);
        }
        else
        {
            $this->data['text1'] = $this->input->post('text1');
            redirect('test/step2');
        }
    }

    public function step2()
    {
        $this->load->view('test/step2', $this->data);

    }

    public function step3()
    {

    }
}

1 Ответ

1 голос
/ 07 февраля 2012

Вы перенаправляете на step2 с помощью redirect ('test / step2'); Это в основном перезагружает страницу, и ваше свойство $ data очищается.

Вместо этого вы должны попробовать что-то вроде этого:

$this->data['text1'] = $this->input->post('text1');
$this->step2(); //would call your existing step2() method

Если вы действительно хотите, чтобы заголовок перенаправлялся на URL, как test / step2, вам может потребоваться сохранить ваши $ data в сеансе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...