Yii路由表格动作

时间:2013-11-15 10:03:59

标签: php forms yii routing

我遇到一个问题,在提交表单时,似乎忽略了我的路由并将我重定向到了Home。

在我的main.php路由中:

'<language\w+>/profile/<slug:[\w\-]+>'  => 'profile/index',
'<language\w+>/<action:\w+>'            => 'site/index',

我的表格:

<form action="<?php echo Yii::app()->getBaseUrl()."/".Yii::app()->language;?>
/profile/calendar" method="post">

哪些输出到

<form action="/domainname/nl/profile/calendar" method="post">

注意:域名是因为我在localhost上测试它。

然而,当按下提交按钮时,它会将我转发到主页而不是正确的页面。只需访问浏览器中的/domainname/nl/profile/calendar 即可,并为我提供正确的控制器。我不知道它为什么不在表格中工作。

在同一网站上的其他表单中,我有以下内容, 再次适用于路由:

<form action="/domainname/nl/profile/info" method="post">

这两种形式之间的区别在于最后一种形式是通过CActiveForm小部件创建的,而第一种形式则不是。

2 个答案:

答案 0 :(得分:0)

向“/ domain name / nl / profile / info”发送简单的帖子请求并观察响应标头。或者您可以使用tcpdump或类似的东西分析现有请求

答案 1 :(得分:0)

我设法通过切换我的手动表单来解决这个问题,毕竟使用CActiveForm小部件。我似乎需要yii_cs_csrf_token自动生成的CActiveForm