在帖子后维护表单数据

时间:2015-10-26 19:50:26

标签: php cakephp

我正在做一个函数,它接收一些表单数据和一个Excel文件,我走路并获得一些数据将它们存储在我的数据库中。到目前为止一切都那么好,关键在于你发布后,验证Excel(好或坏,这与我需要的无关),表单数据是明确的,我想保持选中。关键是我所有的代码都要完成我运行以下所有的验证:

return $this->redirect(array('admin' => true, 'controller'=>'test', 'action'=>'test'));

我从蛋糕开始,我认为这可能是问题,如果我删除此代码,然后加载数据,屏幕变为空白而不显示任何错误。使用此代码,可以保持表单数据不变吗?

1 个答案:

答案 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