在应用程序文件夹外的Codeignitier会话?

时间:2015-09-23 10:19:10

标签: php wordpress codeigniter session

我有网站,我需要将wordpress用于单页,因为我需要一些来自wordpress的插件。

我唯一的问题是从wordpress调用$ _SESSION ['email'],即使我将它设置在codeignitier模型中。

public_html
application
  model
    User_Model.php
wordpress
  wp-content
    themes
      twentyfourteen
        header.php

所以我想从header.php调用会话中通过

在User_Model.php中定义
   $newdata = array(
      'email'    => $rows->user_email,
      'logged_in'  => TRUE,
    );
   }
   $this->session->set_userdata($newdata);
   $_SESSION['email'] = $newdata['email'];
   $_SESSION['logged_in'] = $newdata['logged_in'];

我可以以某种方式获取ci外的userdata或$ _SESSION变量吗?

2 个答案:

答案 0 :(得分:2)

我认为你没有得到$ _SESSION变量作为codeignitier之外的ci。但是,如果您只想使用php $ _SESSION变量,那么您可以像下面一样使用它。

首先检查你的文件是否已启动SESSION,如果没有,则首先启动SESSION,然后获取如下所示的$ _SESSION数据。

session_start();
echo $_SESSION['email'];

答案 1 :(得分:2)

CodeIgniter不使用标准PHP会话,而是将会话数据直接保存在浏览器cookie中,因此无法在应用程序之外使用CI会话。

然而,codeigniter有native sessison library使用标准PHP会话,因此它们可以在您的应用程序之外使用。

如果你这样做

$this->load->library( 'nativesession' );
$this->nativesession->set( 'cart', $cart );  //this will set the session

和你可以做的ouside CI

$_SESSION['cart']