Cakephp 无法在php中读取会话

Cakephp 无法在php中读取会话,cakephp,cakephp-2.0,cakephp-2.1,cakephp-2.3,cakephp-model,Cakephp,Cakephp 2.0,Cakephp 2.1,Cakephp 2.3,Cakephp Model,我已经创建了一个登录功能,一切正常。唯一的问题是,我能够访问用户控制器中的会话和用户控制器中的视图 当我试图访问另一个控制器中的用户会话时,它显示我未定义 下面是我的登录功能代码 if ($this->Auth->login()) { $user_data = $this->Auth->user(); $this->loadmodel('GeneralUser');

我已经创建了一个登录功能,一切正常。唯一的问题是,我能够访问用户控制器中的会话和用户控制器中的视图

当我试图访问另一个控制器中的用户会话时,它显示我未定义

下面是我的登录功能代码

if ($this->Auth->login()) {
                    $user_data = $this->Auth->user();
                    $this->loadmodel('GeneralUser');
                    $result = $this->GeneralUser->find('first',array('conditions' => array('user_id' => $user_data['id'])));
                    $user_data_complete = array_merge($user_data,$result['GeneralUser']);
                    $this->Session->write('user',$user_data_complete);
                    $this->redirect('/dashboard/dashboard/');
                    $this->Session->setFlash('You are successfully logged in');
                    return $this->redirect($this->Auth->redirectUrl());
                }
用户已成功登录并重定向到dashboard controller,在那里我无法访问当时的Auth user的会话。如果我回到users/myaccount,我就可以访问会话


奇怪的是,为什么不允许我访问其他控制器中的用户会话?

它得到了修复..我使用了导致问题的控制器顶部的正常php会话\u start。

您不应该使用会话\u start或任何全局变量,如果这样做,那么使用php框架就没有意义了。始终遵守惯例,避免使用意大利面代码

如果要在控制器中读取会话值,请使用会话组件;如果要在视图中读取会话值,请使用会话帮助器


阅读文档是我最好的建议:

这不是正确的方法。您可以为此使用会话帮助器和组件。