Bonjour,

Je bloque depuis plusieurs heures sur la fonction qui doit permettre aux utilisateurs de mon site de se connecter : la fonction login().

Le problème est qu'elle ne lance même pas une requête à la base de données. Et pourtant elle reçoit bien le login et le mot de passe (j'arrive à les faire s'afficher).

Le nom de ma classe est "Joueurs" et non pas "Users", mais pourtant j'ai bien suivis le "cook book" pour que tout fonctionne correctement.

Voilà mon $components dans mon controller JoueursController, ainsi que les fonctions beforeFilter et login :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
public $components = array(
		    'Auth' => array(
		        'loginAction' => array(
		            'controller' => 'Joueurs',
		            'action' => 'login'
		        ),
		        'authError' => 'Vous devez être inscrit pour accéder à cette page !',
		        'authenticate' => array(
		            'Form' => array(
		                'fields' => array('username' => 'email')
		            )
		        ),
		    'Session'
	    )
	);
 
 
	public function beforeFilter() 
	{
		parent::beforeFilter();
		$this->Auth->allow('inscription', 'login');
	}
 
 
public function login()
	{
		if($this->request->is('post')) 
		{
	             if($this->Auth->login())
	             {
	                 return $this->redirect($this->Auth->redirect());
	             }
	             else 
	             {
	                 $this->Session->setFlash(__("Le nom d'utilisateur ou le mot de passe est inco rect"), 'default', array(), 'auth');
	             }   
	        }
	}
Si encore la requête était envoyée je pourrais comparer les valeurs envoyées et reçues, mais là : rien.

Si quelqu'un a déjà eu le problème, un coup de main est la bienvenu.

Sinon je vais devoir faire la connexion sans utiliser la fonction login() ...