CakePHP: почтовые данные исчезают после перенаправления на страницу входа - PullRequest
0 голосов
/ 31 августа 2011

Когда я тестирую отправку своей формы (методом post ) вошедшим в систему пользователем, он отправляет данные правильно, но когда я не вошел в систему, он перенаправляет на страницу входа.

Но этот оператор if в beforeRender() файла app_controller.php возвращает false:

if ($this->RequestHandler->isPost())

На самом деле $this->data пусто.Где проблема?

1 Ответ

1 голос
/ 31 августа 2011

Да, действительно.Данные POST не могут быть сохранены через перенаправление.Протокол HTTP просто не допускает этого *, и CakePHP ничего не делает для того, чтобы обойти это ограничение.Браузер отправляет POST-запрос на сервер, сервер отвечает перенаправлением 302 Found с заголовком Location, браузер выдает GET-запрос для данного Location.Браузер не отправляет данные POST снова.

См. Вопрос переполнения стека Повторная публикация данных после авторизации для обхода вручную.

* HTTP позволяет ему использовать 307 Temporary Redirect, но ни один браузер, кажется, не реализует это правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...