我正在做一个函数,它接收一些表单数据和一个Excel文件,我走路并获得一些数据将它们存储在我的数据库中。到目前为止一切都那么好,关键在于你发布后,验证Excel(好或坏,这与我需要的无关),表单数据是明确的,我想保持选中。关键是我所有的代码都要完成我运行以下所有的验证:
return $this->redirect(array('admin' => true, 'controller'=>'test', 'action'=>'test'));
我从蛋糕开始,我认为这可能是问题,如果我删除此代码,然后加载数据,屏幕变为空白而不显示任何错误。使用此代码,可以保持表单数据不变吗?
答案 0 :(得分:2)
您需要将数据存储在会话中,然后阅读它:
$session = $this->request->session();
$session->write('form-data', $this->request->data());
return $this->redirect(array('admin' => true, 'controller'=>'test', 'action'=>'test'));
然后在你的控制器中:
if ($this->request->is('post')) {
$post_data = $this->request->data();
} else {
$session = $this->request->session();
$post_data = $session->consume('form-data');
}
//do stuff with $post_data