27 votes

CakePHP : Appel à une fonction membre setFlash() sur un non-objet

Je reçois l'erreur suivante lorsque j'essaie de me déconnecter de mon application CakePHP :

Notice (8): Undefined property: UsersController::$Session [APP/controllers/users_controller.php, line 75]
Fatal error: Call to a member function setFlash() on a non-object in /Users/cameron/Sites/cakeapp/app/controllers/users_controller.php on line 75

Voici le code des lignes 74, 75 et 76 :

function logout() {
    $this->Session->setFlash('Good-Bye');
    $this->redirect($this->Auth->logout());
}

64voto

mtnorthrop Points 2030

Il semble que le composant Session ne soit pas chargé dans le contrôleur des utilisateurs.

Le composant Session devrait être chargé par défaut, mais si vous avez défini le tableau des composants dans AppController, cela écrasera les valeurs par défaut.

Cela signifie que si vous avez

var $components = array();

dans votre AppController, assurez-vous que le composant Session y est inclus :

var $components = array('Session');

Vous pouvez également charger le composant Session dans votre contrôleur Utilisateurs si vous ne souhaitez pas l'utiliser dans l'ensemble de l'application.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X