2012-03-07 130 views
8

在笨我做這個GET和POST CakePHP中

$p=$this->input->post(); 

讓所有對象公佈,但我不知道是否有在CakePHP中獲得來自表單張貼的所有變量類似的東西?我正在編寫一個函數來獲取發佈的密碼並將其保存到數據庫中,而不是記錄在那裏的舊密碼。我使用本地php從表單獲取'posted'變量(我不熟悉cakephp表單的用法),所以不是使用$ _POST ['sssss'],我現在應該做什麼?

謝謝你的幫助。

回答

9
$value = $this->request->data('key'); 

請參閱手冊以供進一步參考。你自己弄清楚它是如此簡單和好轉。

http://book.cakephp.org/2.0/en/controllers/request-response.html#accessing-post-data

+0

這是錯誤的,數據是一個數組。 $ value = $ this-> request-> data ['key'];會是對的。 – 2012-03-07 08:41:55

+9

請仔細閱讀手冊,其中說明: 您可以直接訪問數據屬性,也可以使用CakeRequest :: data()以無錯方式讀取數據數組。任何不存在的鍵都將返回空值: – 2012-03-07 08:44:50

+0

你說得對,我很抱歉。 – 2012-03-07 08:49:39

2

POST數據必須在數據$這個 - >請求 - >數據展現出來。

例子:

// input field 
<input type="text" name="data[foo]" value="bar" /> 

// in your controller 
debug($this->request->data); 
2

您可以檢查是否使用

if (!empty($this->data)) { 
    print_r($this->data); 
} 
2

要檢查是否貼形式發佈形式,請使用:

if ($this->request->is('post')) { 
    pr($this->request->data); 
} 
2

如果你想得到一個特定的表格可以這樣移動:

if($this->data["Objetorastreavel"]["id"]){ 
} 

如果您只選擇一個字段而不發佈整個頁面,它只會檢查ID Objetorestraeval

0

你應該能夠與訪問形式發佈數據:

對於CakePHP的2.x的

if ($this->request->is('post')) { 
    pr($this->request->data); 
} 

對於CakePHP的3.4。X

if ($this->request->is('post')) { 
    pr($this->request->getData()); 
} 

Documentation for CakePHP 3

0

您可以使用下面來檢索後/ CakePHP中

獲得相關數據後的數據: $this->request->data;

對於獲取數據: $this->request->query;