Bonjour, voici une réponse simple a ce problème.
function profil($id = null){
// si il n'y a pas d'id ou qu'il est incorrect (un id commence par 1 en MySQL)
if(!$id || $id < 1){
throw new NotFoundException('Aucun memebre ne correspond à cet ID');
}
// on cherche le premier user possedant l'id desire
$user = $this->User->find('first',array(
'conditions' => array('User.id' => $id,'active'=>1)
));
// si il n'existe pas de user, on renvoie une exception
if(empty(user)) {
throw new NotFoundException('Aucun memebre ne correspond à cet ID');
}
// sinon on recupere ce user et on le renvoie a la vue
$d'User'] = $user;
$this->set($d);
}
Attention : cette solution permet aux utilisateurs d'avoir accès à un profil autre que le leur en entrant un id correct mais différent du leur.
Si les utilisateurs sont connectés et ne peuvent voir que leur profil, il ne faut pas entrer l'id dans l'url mais le récupérer depuis la session avec le composant Auth.