SAlut,
je ne sais pas si m'a question est bête, j'aimerai savoir comment faire pour récupérer les paramètre passer dans un formulaire a partir de nom controlleur.
dans ma vue j'ai ceci:```
<?php
echo $this->Form->create('Utilisateur', array('url' =>array('controller' => 'Membres','action'=>'Updatecompte/param_fields:romeo','class'=>'form-inline'));?>
<?php
echo $this->Form->input('Utilisateur.addresse', array('label'=>' Addresse ','class'=>'form-control','value'=>$add));
?>
<br>
<?php
echo $this->Form->button('Modifier', array('type'=>'submit','class'=>'btn btn-primary btn-modifier'));
echo $this->Form->end();
?>
j'aimerai que lorsque l'on soumet le formulaire que je puisse récupérer mon paramètre
quand je fais ceci $this->param('param_fields') dans mon controleur cela me retourne null, je ne sais pas si il y'a une autre façon.
Si tu veut récupérer les données postées c'est :
$this->request->data['Le nom du model']['le nom du champ'];
Si tu veut récuperer les données dans l'url:
$this->request->params['clé de ce que tu souhaite récupérer']
merci mais lorsque je fais un debug($this->request->param['param_fields']); cela m'affiche null
Pour bien comprendre ton probleme : tu es dans un formulaire de modification d'utilisateur et tu as besoin de récupérer l'id de l'utilisateur pour faire ton update dans ta base ?
Bon j'avais oublié un s à params
debug($this->request->params)
le ['param_fields'] sera l'index de ce que tu veut récupérer
un peu oui, sauf que je veus aussi récupérer un paramètre qui va me permettre de faire un test avant de faire la mise à jour.
mon souçis est de savoir comment récupérer les données du forms avec le paramètre $this->request->param['param_fields'], passé
Euh
$this->request->params te permet de récupérer des données dans l'url par exemple ou le controller appelé, l'action appelé, le type de device qui appel la page etc...
Mais toutes les données que tu envoi par post sont récupérable par
$this->request->data
sa je le sais, quand je fais $this->request->data['le nom du paramètre'] rien ne récupère pas le paramètre transmi
Bonjour.
ton "paramètre" est bien une valeur transmise en POST depuis un formulaire?
Non, son paramètre param_fields, il veut le passer en GET via l'url, sauf qu'il a mal défini son url.
C'est quoi ça : Updatecompte/param_fields:romeo ?
Ce n'est pas le nom d'une action (fonction).
Si tu veux passer des paramêtres dans ton url, il te faut plutôt faire comme ceci :
array('controller' => 'membres','action'=>'updatecompte', 'param_fields' => 'romeo')
Au passage, lorsque tu définies une url via la clé url dans la méthode create du Helper Form, n'y mélanges pas les autres paramètres, comme la class par exemple.
Et puis, dans la méthode create, tu ouvres 3 parenthèses, mais tu n'en referme que 2.
sa je le sais, quand je fais $this->request->data['le nom du paramètre'] rien ne récupère pas le paramètre transmi
C'est normal, le $this->request->data, c'est pour les données transmises dans le formulaire, via les inputs si tu préfères et non pour les paramètres passés en get via l'url.
Pour savoir via quel index est reconnu ta variable au niveau de ta fonction, si les données sont bien postés via le formulaire, tu fais un debug sur $this->request->params :
if ($this->request->is('post') {
debug($this->request->params); die();
}
Le debug te retournera un tableau.