Отправить POST с сайта php Zend-Framework - PullRequest
1 голос
/ 01 ноября 2010

В настоящее время я работаю на сайте Zend Framework, используя ACL.

ACL работает и использует БД для хранения привилегий. Что я сделал до сих пор, так это то, что в преддиспетчере я фиксирую, куда пользователь хотел перейти, и, если ему нужно войти, чтобы попасть туда, на странице отобразится форма входа. Я также захватил, если пользователь отправил форму и сохранил данные (местоположение и данные формы). Пока проблем нет.

Пользователь отправляет форму входа в систему, и затем я проверяю, есть ли у меня место для отправки, опять же без проблем, это работает.

Однако я хочу иметь возможность отправить исходные данные формы теперь, когда они авторизованы - единственная проблема, если я перенаправлю их на страницу, вызову:

$this->getRequest()->isPost()

терпит неудачу, поскольку это не почтовый запрос.

Я могу переслать пользователя на страницу при успешном входе в систему, и в preDispatch установите $ _POST для первоначально захваченных данных, это работает, поскольку оригинальный POST все еще остается, это работает, но я не думаю, что это правильный путь это - особенно URL - очевидно, отображаемая страница верна, форма была отправлена ​​правильно, но URL относится к процессу входа в систему.

Очевидно, что я мог бы отказаться от использования $this->getRequest()->isPost(), но, поскольку есть большие суммы, которые нужно было бы изменить, я надеялся, что этого не потребуется.

1 Ответ

0 голосов
/ 01 ноября 2010

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

Другой способ сделать это - использовать HttpClient и отправить данные в виде POST.

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