无法读取蛋糕php中的会话

时间:2014-09-06 15:26:33

标签: cakephp cakephp-2.0 cakephp-2.1 cakephp-2.3 cakephp-appmodel

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

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

以下是我的登录功能代码。

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());
                }

用户已成功登录并重定向到仪表板控制器,我无法访问当时的Auth用户的会话。如果我回到users / myaccount,我可以访问会话。

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

2 个答案:

答案 0 :(得分:0)

你不应该使用session_start()或任何GLOBALS,如果你这样做,那么使用PHP框架是没有意义的。始终坚持惯例,避免使用意大利面条代码。

如果要在Controller中读取Session值,则使用Session Component,如果要在视图中读取会话的值,则使用Session Helper。

阅读文档是我最好的建议:http://book.cakephp.org/2.0/en/development/sessions.html

答案 1 :(得分:-1)

它得到修复..我在控制器顶部使用正常的php session_start()导致问题。

相关问题