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


Codeignitier session outside application folder?

我有一个网站,我需要使用wordpress的单页,因为我需要一些插件从wordpress。

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

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

我想从header。php调用session 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'];

我能以某种方式得到userdata或$_SESSION变量外ci?

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

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

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

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

然而,codeigniter有一个本地会话库,它使用标准的PHP会话,因此它们可以在应用程序之外使用。

如果你这样做

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

在CI之外你可以做

$_SESSION['cart']