Мастер форм теряет мои данные - PullRequest
0 голосов
/ 19 мая 2011

Здравствуйте и спасибо за ваше время!При попытке реализовать Мастер форм я столкнулся с парой проблем.Использование xdebug показало, что все представленные данные потеряны, что означает:
$ this-> data, $ _POST и $ params ['data'] / ['form'] - все пустые.Кажется, что торт выполняет какое-то перенаправление / диспетчеризацию, а действия вызываются дважды.Когда я устанавливаю точку останова в методе beforeFilter (), я вижу, что все данные заполнены правильно.В других обсуждениях были некоторые предположения, что это может быть вызвано недействительными ссылками в макете, но использование пустого макета ничего не изменило.Я также удалил Компонент Auth, RequestHandler, Помощники, чтобы видеть, происходит ли что-то ... ничего.Проблема в том, что я новичок в Cake, и у меня нет идей, где искать.В настоящее время я получаю это предупреждение:

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 также теряется.Любая идея высоко ценится!:)

1 Ответ

0 голосов
/ 12 октября 2011

Проблема заключается в том, что сеанс истек, а информация потеряна, и система отслеживает прогресс и данные. Установите продолжительность вашего сеанса в настройках безопасности в конфигурации ядра. Это все еще не останавливает ошибку, хотя. Чтобы исправить это заменить:

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

до:

$this->reset();

Это отправит пользователя обратно в первую часть мастера формы. Вы потеряете все пользовательские данные, но это произошло из-за того, что сеанс истекает в первую очередь или если кто-то попытается перейти к форме, к которой еще не был получен доступ с помощью формы, она также будет сброшена. Это может быть хорошей мерой безопасности или просто раздражает.

В любом случае, это мое решение, могут быть и лучшие.

...