Forms 表单向导正在丢失我的数据

Forms 表单向导正在丢失我的数据,forms,cakephp,wizard,Forms,Cakephp,Wizard,您好,谢谢您的时间! 在尝试实现表单向导时,我遇到了几个问题。 使用xdebug显示所有提交的数据都丢失了,这意味着: $this->data、$\u POST和$params['data']/['form']均为空。 似乎cake正在执行某种重定向/分派,并且这些操作被调用了两次。在beforeFilter()方法中设置断点时,可以看到正确填写的所有数据。 在其他讨论中有一些建议认为这可能是由于版面中的无效链接造成的,但使用空版面并没有改变任何事情。 我还删除了Auth组件、RequestHa

您好,谢谢您的时间! 在尝试实现表单向导时,我遇到了几个问题。 使用xdebug显示所有提交的数据都丢失了,这意味着:
$this->data、$\u POST和$params['data']/['form']均为空。 似乎cake正在执行某种重定向/分派,并且这些操作被调用了两次。在beforeFilter()方法中设置断点时,可以看到正确填写的所有数据。 在其他讨论中有一些建议认为这可能是由于版面中的无效链接造成的,但使用空版面并没有改变任何事情。 我还删除了Auth组件、RequestHandler和Helpers,以查看是否发生了某些事情。。。没有什么 问题是,我对蛋糕还很陌生,不知道该去哪里找。 目前,我收到以下警告:

Warning (512): Step validation: daten is not a valid step. [ROOT/plugins/wizard/controllers/components/wizard.php, line 271]
Code | Context

return $this->controller->autoRender ? $this->controller->render($this->_currentStep) : true;
} else {
trigger_error(sprintf(__('Step validation: %s is not a valid step.', true), $step), E_USER_WARNING);

$step   =   "daten"

WizardComponent::process() - ROOT/plugins/wizard/controllers/components/wizard.php, line 271
SignupsController::wizard() - ROOT/plugins/bookings/controllers/signups_controller.php, line 18
Dispatcher::_invoke() - CORE/cake/dispatcher.php, line 204
Dispatcher::dispatch() - CORE/cake/dispatcher.php, line 171
[main] - ROOT/webroot/index.php, line 83
不要认为这有多大帮助,因为$step数组也丢失了。
任何想法都非常感谢!:)

问题在于会话已过期,系统一直跟踪进度和数据的信息丢失。在核心配置的安全首选项中将会话设置为更长。但这仍然不能阻止错误的发生。要解决此问题,请替换:

trigger_error(sprintf(__('Step validation: %s is not a valid step.', true), $step), E_USER_WARNING);
致:

这会将用户发送回表单向导的第一部分。您将丢失所有用户数据,但这是由于会话首先到期,或者如果有人试图跳转到尚未使用表单访问的表单,它也将重置。这可能是一个很好的安全措施,也可能只是一个恼人的问题


无论如何,这是我的解决方案,可能会有更好的。

谢谢你的回答,布鲁斯!由于我自己不知道如何解决这个问题,我决定编写自己的表单助手,但希望它能帮助其他人。
$this->reset();