cakephp - проверка, установлен ли сеанс - PullRequest
2 голосов
/ 22 марта 2012

Я новичок в cakephp и следую этому уроку. http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html

Я создал блог и систему аутентификации пользователей. Я пытаюсь отобразить ссылку для входа (если пользователь не вошел в систему) или показать ссылку для выхода (если пользователь вошел в систему).

Итак, по сути, я проверяю, установлен ли сеанс. Если это так, отобразите ссылку для выхода. Если сеанс не установлен, отобразите ссылку для входа.

Это в моем файле index.ctp, расположенном в View / Posts / index.ctp. Файл, содержащий функции входа и выхода, находится в файле Controller / UsersController.php.

<?php 
if($this->Auth->User('id')){ 
    echo $this->Html->link('Log Out', array('controller' => 'users','action' => 'logout'));
}

if(!($this->Auth->User('id'))){ 
    echo $this->Html->link('Log In', array('controller' => 'users','action' => 'login'));
}
?> 

Я получаю следующую ошибку: Неустранимая ошибка: вызов функции-члена User () для необъекта. Я знаю, что это означает, что объект не определен, но я не уверен, как связать его с другим контроллером.

Спасибо за любую помощь.

1 Ответ

7 голосов
/ 22 марта 2012

Auth является компонентом и поэтому, по вашему мнению, недоступен, это называется помощниками.

Чтобы получить доступ к Session var в представлении, вы должны сделать

$this->Session->check('Auth.User');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...