我在控制器中有两个函数,名为step1和step2。我想在主题之间传递$ data数组。以下是控制器代码。在步骤1中,我在步骤2中输入了一个简单的回声,它显示了$ data ['text1']的值。这个值在step2控制器中显示为NULL,没有我在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()
{
}
}
答案 0 :(得分:1)
您正在通过重定向('test / step2')重定向到第2步; 这基本上会重新加载页面并且您的$ data属性会被清空。
相反,你应该尝试类似的东西:
$this->data['text1'] = $this->input->post('text1');
$this->step2(); //would call your existing step2() method
如果您确实希望将标题重定向到像test / step2这样的网址,则可能需要将$数据存储在会话中。