在CakePHP中,如果我刚发布一个表单,为什么$ this-> params ['form']会为空?

时间:2010-09-22 15:58:49

标签: php cakephp cakephp-1.3

使用CakePHP 1.3 ,我发布了一个正确填写$this->data的表单。根据{{​​3}},似乎$this->params['form']也应该填充一些信息,但它只是一个空数组。 有特殊原因吗?

表单是使用Form Helper构建的,如下所示......

一些相关代码:

$default_form_create_options = array(
    'inputDefaults' => array(
        'label'=>false, 
        'div'=>false
    )
); 

echo $form->create('Preappform', $default_form_create_options);
// --- snip, a bunch of form elements created via $form->input()
echo $form->end(array('label'=>'Send This Form »', 'class'=>'submit-button', 'escape'=>false));

我知道表单数据在$this->data中可用,所以这可能只是文档/好奇心问题。如果是这样......我的坏。

3 个答案:

答案 0 :(得分:4)

只是为了咯咯笑,试试$this->params['data']。我不知道为什么,但由于某种原因,它会在那里显示表格数据。

文档中包含有冲突的数据,您可以在此处查看http://book.cakephp.org/view/972/data。我猜测,如果您使用 FormHelper ,它将显示在$this->data中,如果您不使用 FormHelper ,它将显示在{{1 }}

请注意,如果您使用 FormHelper ,则元素的名称将为$this->params['form'],如果您只是手动创建表单,则可以将其命名为“element_name”。通过稍后的操作,我相信它会将其投放到data['Model']['element_name']而不是params['form']

答案 1 :(得分:0)

我在使用CakePHP 1.3时也遇到了同样的问题。后来我使用$ this-> params ['data']解决了这个问题。但我有一些问题,我是cakephp的新手并使用手册作为我的参考,似乎手册根本没有更新,在搜索这个问题时,我发现它在早期版本中运行良好,在1.2之后,它在Cakephp中根本不存在。是否有任何CakePHP专家来澄清这些内容?

答案 2 :(得分:0)

不一定与Cake相关,但是当我拥有它时问题的答案:如果你在POST中包含文件上传,请仔细检查你上传的文件是否不大于指定的限制在php.ini文件中。