2013-02-16 64 views
0

在頁面上我有這樣的形式:CakePHP的領域已字段名作爲值

<form action="/store_collections/create" method="post"> 
    <input type="text" name="data[test]" placeholder="Create new collection" class="span2"> 
</form> 

我向它發送到StoreCollectionsController形式:

<?php 
App::uses('AppController', 'Controller'); 
class StoreCollectionsController extends AppController { 

public function create() { 
    print_r($this->request->data); 

} 

print_r返回此:

Array 
(
    [test] => fdsdata[test]=fds 
) 

這怎麼可能?該字段的名稱附加到該值。值應該是fds,但它是fdsdata[test]=fds

任何想法?我從控制器中刪除了所有東西($ uses ...),看看它可能是什麼。網站上的所有其他表單都很好。只是提交給這個控制器的數據。

+0

爲什麼你不使用窗體幫助器來生成和輸出窗體? – mark 2013-02-16 01:43:56

+0

我正在使用FormHelper。我以一個片段/主要元素的例子爲例。問題是字段值有字段名稱。如果我確實有名爲'data [StoreCollection] [title]'的文本字段,則會發生同樣的事情。如果模型在輸入名稱中,'$ this-> request-> data'不在意這一點... – iDev247 2013-02-16 02:11:27

+0

更新:好的。 FormHelper的確有所幫助,但主要是因爲它插入了'

'。它必須是安全的事情。我會閱讀它。一旦我有更多的信息會更新。這很奇怪。我的其他表單沒有'_method'字段,並且很好地工作。 – iDev247 2013-02-16 02:34:34

回答

0

上例中的輸入控件Name屬性缺少模型的名稱。您是否使用表單助手在視圖上創建表單?試試這個在你看來:

<?php echo $this->Form->create('StoreCollection'); ?> 
<?php echo $this->Form->input('test'); ?> 
<?php echo $this->Form->end('submit'); ?> 
+0

我正在使用FormHelper。 – iDev247 2013-02-16 02:13:04

+0

@ Bill Rollins:您忘記了提交按鈕,輸入結束() – mark 2013-02-16 10:49:10

+0

謝謝@mark,代碼已更新。 – 2013-02-16 16:07:44