0

我正在使用 cakePHP 1.26。在 .ctp 文件中,我有一些类似这样的代码:

$sess = $this->Session->check('user');
if($sess){
// do soemthing
}
else{
// do soemthing then
}

但是我得到了这个错误:

致命错误:在第 10 行的 /home/vol12/mysite.com/htdocs/app/views/layouts/testing1.ctp 中的非对象上调用成员函数 check()

我可以在 .ctp 文件中使用 Check 方法来检查会话是否存在?

4

2 回答 2

3

当然,有一个用于控制器的会话组件,它被引用为$this->Session. 我认为您正在寻找的是可用于视图的会话助手。这被简称为$sessionIIRC。我想验证一下(我不得不使用它已经有一段时间了),但目前在文档中找不到它。我想你想要的是:

$sess = $session->check('user');
于 2010-07-02T16:27:17.893 回答
1

我可以在 1.2.5 中做到这一点:

if ($session->read('Auth.User')){ ... }

请参阅手册:http ://book.cakephp.org/view/484/Session ,简短但明确。请注意,您不能从视图写入会话

于 2010-07-05T08:36:27.480 回答