我在add.ctp中有这个:
<!-- File: /app/views/posts/add.ctp -->
<h1>Add Post</h1>
<?php
echo $form->create('Post');
echo $form->input('title');
echo $form->input('body', array('rows' => '3'));
echo $form->end('Save Post');
?>
这在我的控制器中:
function add(){
if (!empty($this->data)) {
if($this->Post->save($this->data)){
$this->Session->setFlash('Your post has been saved');
$this->redirect(array('action' => 'index'));
}
}
}
我的问题是CakePHP如何知道当用户点击提交时,将“数据”发送到控制器中的“添加”功能?
答案 0 :(得分:9)
默认情况下,CakePHP会将表单发送到显示它的相同操作。
您可以在视图中更改它,如下所示:
echo $form->create('Post', array('action' => 'whatever'));
答案 1 :(得分:8)
或者如果你想重定向到另一个控制器,你可以使用这个
echo $form->create('Post', array('url' => '/controller_name/action_name'));
答案 2 :(得分:0)
根据下面更新的语法,(CakePHP 2.4.x)
:
echo $this->Form->create('RegistrationsInout', array('action' => 'startroom'));
答案 3 :(得分:0)