0

我试图在 zend 框架中获取表单的请求值

之前我使用的是 post 方法

但是 iphone 应用程序以 get 方法向我发送数据。

我如何使用它,我使用的是 post 值,比如

$post = array('id'=>'2', 'email'=>'4', )

提交表单时,我也想在此表单值中获取值。

我用它来获取帖子值

      $post = $this->getRequest ()->getPost ();

我试过这个来获取方法值

    $post = $this->getRequest();

我收到此错误 无法使用 Zend_Controller_Request_Http 类型的对象作为数组

这是完整的错误信息

“Zend_Controller_Request_Http 对象([_paramSources:protected] => 数组([0] => _GET [1] => _POST)[_requestUri:protected] => /platinum-picks/p-picks/index/registration [_baseUrl:protected] => /platinum-picks/p-picks [_basePath:protected] => [_pathInfo:protected] => /index/registration [_params:protected] => Array ( [controller] => index [action] => registration [模块] => 默认) [_rawBody:protected] => [_aliases:protected] => 数组 () [_dispatched:protected] => 1 [_module:protected] => 默认 [_moduleKey:protected] => 模块 [_controller: protected] => index [_controllerKey:protected] => 控制器 [_action:protected] => 注册 [_actionKey:protected] => action) 致命错误:不能使用 Zend_Controller_Request_Http 类型的对象作为 D 中的数组:\Program Files\Zend\Apache2\htdocs\platinum-picks\application\models\User.php 在第 267 行"

4

2 回答 2

1

例如,您可以使用以下方法找到GET变量:

$this->getRequest()->getParams();

或者,对于特定变量:

$this->getRequest()->getParam('myVar');

这也将搜索POST值。要仅搜索GETvar,请使用:

$this->getRequest()->getQuery('myVar');
于 2012-06-26T09:47:25.157 回答
1

如果我理解正确,您想获取使用 GET 方法传递的值,并且您已经成功地使用 POST 值完成了相同的操作。在这种情况下,您需要进行的唯一更改是:

$post = $this->getRequest()->getPost ();

变成

$get = $this->getRequest()->getParams();

这也将返回来自其他来源的参数:

检索合并的参数数组,优先于用户空间参数(参见 setParam())、$_GET、$_POST(即,用户空间参数中的值将优先于所有其他参数)。

因此,如果这对您来说可能是个问题,请参阅手册。

于 2012-06-26T09:49:17.730 回答