网址意外更改

时间:2012-05-22 06:07:45

标签: php html5 codeigniter cakephp

我在表单帖子的操作中遇到了一些问题。我的表单看起来像这样

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

我的方法看起来像

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

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

我现在该怎么办?

2 个答案:

答案 0 :(得分:1)

请勿使用表单重定向。

您可以像这样激活autoload中的url_helper:

  

autoload ['helper'] = array('url');

用这个替换你的表格:

  

echo anchor('controllers / method','我的文字','title =“myTitle”');

答案 1 :(得分: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