0

我在表单帖子的操作中对 url 有一点问题。我的表格看起来像这样

<form action="../method" type="POST">
    <input type="submit" value="Submit">
</form>

我的方法看起来像

function method()
{
   $bool=dosomething();
   if($bool)
   {
      $this->redirect('mainpage');
   }
   else
   {
      $this->redirect('currentpage');
   }
}

如果 $bool 值被评估为 false,我希望我的按钮按下事件将我引导到当前页面。但是我第一次访问当前页面时,url 是例如http://localhost/dir/controllers/method当我将鼠标悬停在提交按钮上但是当上面的 $bool 变为 false (第二次重新加载)时,上面按钮的执行 url 变为http://localhost/dir/method.

我现在应该解决什么问题?

4

2 回答 2

1

不要使用表单来重定向。

您可以像这样在自动加载中激活 url_helper:

自动加载['helper'] = array('url');

用这个替换你的表格:

echo anchor('控制器/方法', '我的文本', 'title="myTitle"');

于 2012-05-22T14:28:16.453 回答
0

是的,就像 Broncha 说的:你的表单标签中的 action 属性是错误的。“../”表示父目录,所以他“上一级”。

只需使用 Cakes Form Helper 创建表单:
http ://book.cakephp.org/2.0/en/core-libraries/helpers/form.html

或者 url() - Cakes HtmlHelper 的方法:
http ://book.cakephp.org/2.0/en/core-libraries/helpers/html.html#HtmlHelper::url

于 2012-05-22T06:28:22.983 回答