IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

Auth->login() ne fonctionne pas [CakePHP]


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Points : 28
    Points
    28
    Par défaut Auth->login() ne fonctionne pas
    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() ...

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 40
    Points : 28
    Points
    28
    Par défaut
    Biiiimmm !

    Ok c'est bon, j'ai trouvé !!

    L'erreur venait de mon $components, j'avais oublié de redéfinir le userModel ... au milieu de tous les array() fallait bien que j'en loupe un !

    Voilà donc le $components corrigé :

    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
     
             public $components = array(
    		    'Session',
    		    'Auth' => array(
    		        'loginAction' => array(
    		            'controller' => 'Joueurs',
    		            'action' => 'login'
    		        ),
    		        'authError' => 'Vous devez être inscrit pour accéder à cette page !',
    		        'authenticate' => array(
    		            'Form' => array(
    		            	'userModel' => 'Joueur',
    		                'fields' => array('username' => 'email')
    		            )
    		        )
    	    )
    	);
    A plus !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Filtre login ne fonctionne pas correctement
    Par stoner2008 dans le forum JSF
    Réponses: 5
    Dernier message: 20/11/2013, 10h44
  2. Composant login ne fonctionne pas
    Par Scots dans le forum Accès aux données
    Réponses: 8
    Dernier message: 16/01/2012, 13h58
  3. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 16h48
  4. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo