我是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'));
}
?>
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:致命错误:在非对象上调用成员函数User().我知道这意味着对象没有定义,但我不知道如何将它引用到另一个控制器.
谢谢你的帮助.
Auth是一个组件,因此在您的视图中不可用,它们被称为帮助程序.
要在视图中访问Session var,您将执行此操作
$this->Session->check('Auth.User');
Run Code Online (Sandbox Code Playgroud)