我在表单帖子的操作中遇到了一些问题。我的表单看起来像这样
<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
。
我现在该怎么办?
答案 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