Bonjour,
je trouve un probleme quand je modifie mes formulaires les modifications ne se sauvegardent pas si vous avez des idées merci de bien vouloir m'aider .
et meme si je suis connectée depuis un compte les informations sauvegardé dans la base de données ne s'affichent pas .
si vous avez besoin d un certain code n hesitez pas à me le demander .
merci
voici mon code pour la fonction edit :
public function edit()
{
$user = $this->Users->get($this->Auth->user('id'));
if ($this->request->is(['post'])) {
$this->Users->patchEntity($user, $this->request->data);
// $user->id = $this->Auth->user('id');
$i = $this->Users->patchEntity($user,$this->request->data);
if ($this->Users->save($user)) {
$this->Flash->success(__('Votre article a été mis à jour.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('Impossible de mettre à jour votre article.'));
}
$this->set('user', $user);
}
Hello,
Essaies ça dans ta première condition :
$this->request->is(['post', 'put', 'patch'])
A mon avis, tu ne rentres pas dans la condition telle qu'elle est actuellement, c'est pour ça que rien ne se passe.
Vire aussi cette ligne, elle ne sert à rien :
$i = $this->Users->patchEntity($user,$this->request->data);
Tiens nous au courant !
je l'ai rajouté et j'ai viré l'autre ligne mais ça marche toujours pas il me donne cette erreur :
Record not found in table "users" with primary key [NULL]
en plus il ne sauvegarde pas les informations déjà enregistrées dans la base de données
voici mon code actuel :
public function edit()
{
$user = $this->Users->get($this->Auth->user('id'));
if ($this->request->is(['post', 'put', 'patch'])) {
$this->Users->patchEntity($user, $this->request->data);
$user = $this->Users->patchEntity($user,$this->request->data);
//$this->Users->patchEntity($user, $this->request->data);
//$user->id = $this->Auth->user('id');
if ($this->Users->save($user)) {
$this->Flash->success(__('Votre article a été mis à jour.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('Impossible de mettre à jour votre article.'));
}
$this->set('user', $user);
}