通过POST将数据从元素传递到控制器/模型Cakephp

时间:2013-07-17 04:35:11

标签: cakephp post model controller

我对cakephp很新,我有一个上传器表单,并希望使用POST将所有数据传递给控制器​​和模型,以便它将保存到数据库中。到目前为止,没有发生cakephp错误,但没有数据传递。

控制器代码:

<?php class Controller extends AppController {

  public function add() {
    if ($this->request->is('post')) {
        $this->File->create();
        if ($this->File->save($this->request->data)) {
            $this->Session->setFlash(__('Your file has been liberated :)'));
            $this->redirect($this->referer());
        } else {
            $this->Session->setFlash(__('Something went wrong!'));
        }
    }
}
}?>

查看代码:

<?php echo $this->Form->create('File'); ?>
<input type="uploader" name="selected-file" style="visibility: hidden;"/>
<?php echo $this->Form->end('Finish'); ?>

型号代码:

<?php class File extends AppModel {}
?>

1 个答案:

答案 0 :(得分:0)

请检查input specification您可以看到,type属性没有“上传者”值。也许你的意思是type="file"

另外,如果您想上传文件,请使用

echo $this->Form->create('File', array('type' => 'file')); 

这将产生正确的enctype属性enctype="multipart/form-data"。如果您通过POST发送文件,则需要这样的enctype。

另外,你使用样式:style="visibility: hidden;"它应该隐藏文件输入字段,所以,也许你使用一些flash上​​传器或ajax,但是你的代码中没有证明这一点。如果您提供更多代码,我们可以为您提供更具体的帮助。

和反问题:如何调试代码?