2012-03-07 26 views
8

In Codeigniter faccio questoGET e POST in CakePHP

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

per ottenere tutti gli oggetti inviati, ma non so se c'è qualcosa di simile in CakePHP per ottenere tutte le variabili inviati da un modulo? Sto scrivendo una funzione per ottenere la password registrata e salvarla nel database al posto della vecchia password registrata lì.

Io uso il php nativo per ottenere variabili "postate" da un modulo, (non ho familiarità con l'utilizzo del modulo cakephp), ecco perché, così invece di usare $ _POST ['sssss'] cosa dovrei fare ora?

Grazie per qualsiasi aiuto.

risposta

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

Per ulteriori riferimenti, leggere il manuale. È molto più facile e migliore per te stesso capirlo da solo.

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

+0

Questo è sbagliato, i dati sono una matrice. $ value = $ this-> request-> data ['key']; avrebbe ragione –

+9

Si prega di leggere il manuale, si afferma: È possibile accedere direttamente alla proprietà dei dati, oppure è possibile utilizzare CakeRequest :: data() per leggere l'array di dati in modo esente da errori. Qualsiasi chiave che non esiste restituirà null: –

+0

Hai ragione, le mie scuse. –

2

i dati POST devono essere dati per mostrare in> Dati $ this-> richiesta-.

Esempio:

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

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

È possibile controllare se inviato un modulo utilizzando

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

Per verificare se inviato un modulo, si prega di utilizzare:

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

Se si desidera ottenere un campo specifico della tabella può muoversi così:

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

Esso controlla solo l'ID Objetorestraeval se si vuole scegliere un solo campo e non inviare l'intera pagina.

0

Si dovrebbe in grado di accedere ai dati modulo pubblicare con:

Per CakePHP 2.x

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

Per CakePHP 3.4.x

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

Documentation for CakePHP 3

0

È possibile utilizzare seguente per recuperare posta/ottenere i dati in CakePHP

Per i dati del messaggio: $this->request->data;

Per i dati GET: $this->request->query;