J'ai quand même tester comme tu peut voir :
public function edit(){
if($this->request->is('post')){
$confirm = $this->User->find('first',array('conditions'=>array('User.id'=>$this->Auth->user('id')),'fields'=>array('User.id','User.password')));
die(debug($confirm));
$passwordHasher = new SimplePasswordHasher();
$this->request->data'User']'confirm'] = $passwordHasher->hash(
$this->request->data'User']'confirm']);
if($confirm==$this->request->data'User']'confirm']){
if(!empty($this->request->data'User']'password'])){
if($this->request->data'User']'password']!=$this->request->data'User']'passwordConfirm']){
$this->Session->setFlash('Vos mots de passe ne correspondent pas !','alert',array('class'=>'error'));
}else{
$this->User->id=$this->Auth->user('id');
$this->User->save(h($this->request->data));
$this->Session->setFlash('Informations modifiées','alert',array('class'=>'success'));
$this->redirect(array('action'=>'profil','id'=>$this->Auth->user('id')));
}
}else{
$this->User->id=$this->Auth->user('id');
$this->User->save(h($this->request->data));
$this->Session->setFlash('Informations modifiées','alert',array('class'=>'success'));
$this->redirect(array('action'=>'profil','id'=>$this->Auth->user('id')));
}
}else{
$this->Session->setFlash('Les informations n\'ont pas été modifié, Le mot de passe pour la confirmation de modification n\'est pas valide','alert',array('class'=>'error'));
}
}
$user=$this->User->find('first',array('conditions'=>array('User.id'=>$this->Auth->user('id'))));
$this->set('user',$user);
}
Oui la fonction est compliqué car je fait d'autres tests ... Enfin, j'ai beau essayer, il me retourne toujours : Les informations n\'ont pas été modifié, Le mot de passe pour la confirmation de modification n\'est pas valide