【问题标题】:how to use $_SESSION variable in cakephp 2.2如何在 cakephp 2.2 中使用 $_SESSION 变量
【发布时间】:2013-07-01 14:22:33
【问题描述】:

我正在使用一个java脚本插件来上传多张图片。我已经使用带有插件的服务器端脚本。在那个 php 文件中,我有 $_SESSION 变量来在会话中分配一个值。但是当我试图在我的控制器的方法中访问该会话时。我已将我的 javascript 文件及其相应的 php 文件存储在 webroot 中。有什么方法可以将会话从 webroot 获取到控制器。

【问题讨论】:

  • 手册说$green = $this->Session->read('Person.eyeColor'); 是你阅读会话的方式。
  • 我也试过这个。
  • 我认为您可能不得不直接使用 PHP 进行此操作...因为您可能无法从您的 javascript 文件中直接访问 CakePHP 会话组件。

标签: php cakephp cakephp-2.0


【解决方案1】:

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

session_name('CAKEPHP'); 
session_start(); 

【讨论】:

    【解决方案2】:

    SharkofMirkwood 的回答对我有用。

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

    之后你可以使用 cake 的方法访问 session 变量

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

    【讨论】:

    • 你为什么要这样做?...以上答案是正确的。
    • @mark 问题不在于如何访问 CakePHP 中的会话,而是如何访问 与 webroot 中的独立 php 文件相同的 会话。另请注意,“上述”取决于您对答案的排序方式 - 有 3 种可能性,我只是更改了其中两种的顺序:P
    • 好点。最初的问题并没有完全指出蛋糕应用程序内部和外部之间的区别。但是这个答案毕竟似乎是正确的。
    【解决方案3】:

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

    public $components = array('Session');
    

    然后像这样写你的会话变量:

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

    要获取这个会话变量写

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

    删除特定会话变量写入

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

    【讨论】:

      【解决方案4】:

      在您的控制器中请允许会话组件,如果您想在整个应用程序中使用会话组件,请包含在 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

      【讨论】:

        【解决方案5】:

        首先你需要定义公共变量

        public $components = array('Session');
        

        之后就可以使用了

        $this->Session->read();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-30
          • 1970-01-01
          • 1970-01-01
          • 2015-07-08
          • 1970-01-01
          • 1970-01-01
          • 2018-05-08
          相关资源
          最近更新 更多