从php Zend-Framework站点发送POST

时间:2010-11-01 13:33:01

标签: php zend-framework post

我目前正在使用ACL进行zend框架站点。

ACL工作并使用DB存储privalges。到目前为止我所做的是,在preDispatch中捕获用户想去的地方,如果他们需要登录到达那里,页面会显示登录表单。如果用户提交了表单并存储了数据(位置和表单数据),我也会捕获。到目前为止没问题。

用户提交登录表单,然后我检查我是否有位置发送它们,再次没有问题,这是有效的。

但是,我希望能够提交原始表单数据,现在它们已被autherised - 唯一的问题是,如果我将它们重定向到页面,则调用:

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

失败,因为它不是邮寄请求。

我可以将用户转发到成功登录的页面,并在preDispatch中设置$ _POST到最初捕获的数据,这可以作为原始POST仍然有效,这可行,但我不认为是正确的方法这 - 特别是URL - 显然页面显示正确,表单已正确提交,但URL是登录过程。

显然我可以改变使用$this->getRequest()->isPost(),但由于需要更改大量数据,我希望不必这样做。

1 个答案:

答案 0 :(得分:0)

通常(在许多网站上看到)的方式是在会话中存储表单数据和请求的操作,然后将用户重定向到登录页面。当登录被授权时,您会读取任何待处理操作的会话,重新加载表单并使用会话中的数据填充它(之后正确清除会话中的任何待处理操作)。用户只需再次单击“提交”。

另一种方法是使用HttpClient并将数据作为POST提交。