如何在cakephp 2.2中使用$ _SESSION变量

时间:2013-07-01 14:22:34

标签: php cakephp cakephp-2.0

我正在使用java脚本插件上传多个图片。我已经使用服务器端脚本与插件。在那个php文件中,我有$ _SESSION变量来在会话中分配一个值。但是当我试图在我的控制器方法中访问该会话时。我已将我的javascript文件及其相应的php文件存储在webroot中。有没有办法让webroot的会话进入控制器。

5 个答案:

答案 0 :(得分:1)

在webroot的php文件中,您有session_start();,请尝试将其更改为以下内容:

session_name('CAKEPHP'); 
session_start(); 

答案 1 :(得分:1)

SharkofMirkwood的回答对我有用。

session_name('CAKEPHP'); 
session_start(); 
print_r($_SESSION);

在此之后,您可以使用cake的方法访问会话变量

$this->Session->read('session_name');

答案 2 :(得分:-1)

首先,您需要定义公共变量

public $components = array('Session');

之后你可以使用

$this->Session->read();

答案 3 :(得分:-1)

为了首先编写会话变量,您需要做的是在控制器中包含会话组件,如:

public $components = array('Session');

然后编写会话变量,如:

$this->Session->write('variable name', 'your session value');

要获得此会话变量,请写

$this->Session->read('variable name');

删除该特定会话变量write

$this->Session->delete('variable name');

答案 4 :(得分:-1)

在Controller中,如果要在整个应用程序中使用会话组件,请允许使用Session组件,然后将其包含在App Controller中。

完成此操作后,您可以使用以下方法访问任何会话数据。

$sessionData = $this->Session->read();
debug($sessionData);

如果您想写入会话,可以使用以下行。

$sessionWrite = $this->Session->write('Site.name', 'My Site Name');

您可以在此处找到可以使用的文档和其他功能。 http://book.cakephp.org/3.0/en/development/sessions.html