私たちはZend Routerを使用しており、フォームによって送信されるパラメータを上書きしているようです。コントローラに到達する唯一のパラメータは、Urlのパラメータです。Zend Routerは、フォームからポスト変数を上書きします
これはなぜ起こっているのですか?
; 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"が欠落していることに注意してください。そのパラメータはルータからのみです。
コードを教えてください。ルータで何を持っているか、あなたのフォームをどのように送信したかは非常に重要です。 –
私は質問を編集してコードを追加しました – lasse
コントローラのパラメータの見方を追加できますか? –