Salut tout le monde, j'ai un petit problème, j'y suis depuis ce matin, mais impossible de trouver d'ou il viens, j'ai re coder 2 fois la fonctions, mais rien n'y fait, voici ma fonction :
public function edit(){
if($this->request->is(array('post','put'))){
$confirm=$this->User->find('first',array('conditions'=>array('User.id'=>$this->Auth->user('id')),'fields'=>array('User.id','User.password')));
$passwordHasher=new SimplePasswordHasher();
$passwordConfirm=$passwordHasher->hash($this->request->data'User']'confirm']);
if($passwordConfirm==$confirm'User']'password']){
if(empty($this->request->data'User']'password'])){
$this->request->data'User']'password']=$this->request->data'User']'passwordConfirm']=null;
$this->User->id=$this->Auth->user('id');
if($this->User->save($this->request->data)){
$this->Session->setFlash('Informations modifiés','alert',array('class'=>'success'));
}else{
$this->Session->setFlash('Une erreur s\'est produite, veuillez réessayer ou contacter le support','alert',array('class'=>'alert'));
}
}else{
if($this->request->data'User']'password']==$this->request->data'User']'passwordConfirm']){
$this->User->id=$this->Auth->user('id');
if($this->User->save($this->request->data)){
$this->Session->setFlash('Informations modifiés, veuillez vous reconnecter','alert',array('class'=>'sucess'));
$this->Auth->logout();
$this->redirect(array('action'=>'login'));
}else{
$this->request->data'User']'password']=$this->request->data'User']'passwordConfirm']=null;
$this->Session->setFlash('Une erreur s\'est produite, veuillez réessayer ou contacter le support','alert',array('class'=>'alert'));
}
}else{
$this->request->data'User']'password']=$this->request->data'User']'passwordConfirm']=null;
$this->Session->setFlash('Vos mots de passe sont différents','alert',array('class'=>'alert'));
}
}
$this->request->data'User']'confirm']=null;
}else{
$this->Session->setFlash('La confirmation de propriété à échoue !','alert',array('class'=>'alert'));
}
}
$user=$this->User->find('first',array('conditions'=>array('User.id'=>$this->Auth->user('id'))));
$this->set('user',$user);
}
Si j'envoie le formulaire, il détecte bien si la confirmation est bonne, mais par la suite quoique j'essaye, il m'affiche : 'Une erreur s'est produite ...' je n'arrive pas à trouver d'ou viens le problème.
Merci de vos réponses, Cordialement, Matspyder
Rien du tout :
\app\View\Users\edit.ctp (line 2)
array(
'User' => array()
)
Cependant maintenant, je ne sait pas pourquoi, il m'affiche la notif comme quoi que les infos ont bien été modifié, mais rien n'est changer en BDD