我們正在使用Zend路由器,它似乎覆蓋由窗體發送的參數。到達控制器的唯一參數是來自Url的參數。Zend路由器覆蓋從形式的後變量
有誰知道爲什麼會發生這種情況?
下面是配置文件:
; Routing config
routes.groups.route = groups/:group/:type/:idPost/:postUrl/:page
routes.groups.defaults.controller = groups
routes.groups.defaults.action = index
routes.groups.defaults.type = main
routes.groups.defaults.idPost =
routes.groups.defaults.postUrl =
routes.groups.defaults.page = 1
而且形式:
<form action="<?= $this->_view->baseUrl ?>/groups/<?= $group['groupUrl'] ?>/deletepost/" method="post">
<input type="hidden" name="formUrl" value="<?=$formUrl ?> />
...
</form>
控制器:
public function deletepostAction() {
$params = $this->getRequest()->getParams();
print_r($params);
die;
}
...輸出:
Array
(
[group] => dandy-handwriting
[type] => deletepost
[idPost] =>
[controller] => groups
[action] => index
[postUrl] =>
[idGroup] => 1
[lang] => en
)
注意「formUrl」缺失,它只有來自路由器的參數。
你能給你的代碼嗎?你在路由器中擁有什麼,以及你是如何發送你的表單非常重要。 – 2009-07-17 10:57:24
好的,我編輯了這個問題並添加了代碼 – lasse 2009-07-17 11:16:42