Bonjour,

Je rencontre un problème avec CakePHP 2 que je n'avais pas avec la version 1.3. Je n'arrive pas à me connecter depuis ma page d'accueil.

UsersController.php (extrait)

public function login(){

        if($this->request->is('post')){

            if($this->Auth->login()){

                return $this->redirect($this->referer());
            }else{

                $this->Session->setFlash('The username or password are incorrect', 'default', array(), 'login');
                $this->redirect($this->referer());
            }
        }
    }

login.ctp (situé dans le dossier element)

<?php
$this->requestAction(array('controller' => 'users', 'action' => 'login'));
$id = $this->Session->read('Auth.User.id');
if(empty($id)){

    echo "<h2>Login</h2>";
    echo $this->Form->create(null, array('url' => array('controller' => 'users', 'action' => 'login')));
    echo $this->Session->flash('login');
    echo $this->Form->input('username', array('label' => 'Username :'));
    echo $this->Form->input('password', array('label' => 'Password :'));
    echo $this->Form->submit('Login');
    echo $this->Form->end();
}else{
    ?>
    <h2>Member Area</h2>
    <?php
}
debug($this->Session->read());
?>

A chaque fois que j'essaie de me logger avec mes bon identifiants il me renvoie l'erreur que mon identifiant et mot de passe sont incorrect. Le seul moyen de me connecter est d'être sur la page /users/login malgré qu'il n'y a de vue et sur ma page /users/register.

PS: Le formulaire se situe dans ma sidebar qui apparait dans toutes les pages et sa fait 2 bonnes heures que je tourne en rond.

2 réponses


palmer08
Auteur
Réponse acceptée

C'est bon. Il fallu juste changer le "null" dans le $this->form->create par "User".

teste la méthode vérifie bien que c'est un $this->request->is('post') et que les infos sont bien passées à ton action login.