【问题标题】:Access sessions inside codeigniter from external script从外部脚本访问 codeigniter 内的会话
【发布时间】:2017-10-24 09:36:36
【问题描述】:

我有以下项目层次结构

  • /项目
    • /userloginform.php
    • /CodeIgniter

我在userloginform.php 中设置我的会话值。
我想在 codeIgniter Controller 中访问这些值。
我找到了在相反情况下访问会话的解决方案here

如何在codeIgniter 中访问它们?

【问题讨论】:

  • 改进格式

标签: php codeigniter session codeigniter-3


【解决方案1】:

首先将库加载到您的 codeigniter 控制器中

$this->load->library('session');

现在你可以访问会话对象了,

$this->session

然后使用

获取您的会话数据
$this->session->item

这里的 item 是数组名称或变量名称,其中包含我使用 session 存储的数据。

【讨论】:

    【解决方案2】:

    您可以使用两种方式访问​​会话值:

    $_SESSION['your_sessioni_key'];
    $this->session->userdata('your_session_key');

    第一个是常规的 php 格式。二是Condeigniter风格。两者都会给你相同的输出。

    【讨论】:

    • 我试过这样。这样,我可以访问 codeigniter 应用程序中的会话数据集。但在我的情况下,会话设置在 codeIgniter 文件夹之外
    • 如果您从相同的基本 url 和相同的浏览器创建会话(在 codeigniter 之外),那么它也可以在 codeigniter 中访问。但是如果创建会话的浏览器或网址不同,您将无法获得。
    • 会话是在“my-domain.com/app/userloginform”上生成的,我在这里检索它(my-domain.com/app/codeigniter/controller)
    • 你做得很完美。你能打印所有会话吗?只需执行 print_r($_SESSION) 并检查
    • Array ( [__ci_last_regenerate] => 1508844899 ) 这是我得到的输出
    【解决方案3】:

    Codeigniter 似乎重置了userloginform.php 设置的$_SESSION 变量。考虑一下answer

    【讨论】:

      猜你喜欢
      • 2015-09-09
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多