【问题标题】:How to get current session cookie value in codeigniter? [duplicate]如何在codeigniter中获取当前会话cookie值? [复制]
【发布时间】:2018-09-20 23:35:33
【问题描述】:

任何人都知道如何在 codigniter 中获取 $_COOKIE['PHPSESSID'] 值,除非浏览器关闭,否则该值将保持不变? 谢谢

【问题讨论】:

  • 不,我不想要这个。我想要得到的是当前的浏览器会话,除非关闭浏览器,否则它将保持不变。

标签: php codeigniter-3


【解决方案1】:

为了获取会话 ID,您首先需要在 application/config/config.php 上验证变量 sess_cookie_name 的值。你会发现类似的东西:

$config['sess_cookie_name'] = 'ci_session';

正如在这个问题How to retrieve cookie value in CodeIgniter? 中提到的,您可以使用代码获取 cookie:

$cookies = $this->input->cookie();

在 cookies 变量中,您拥有应用程序中的所有 cookie。为了从上面获取会话 ID,您可以:

$session_id = $cookies->ci_session;

如果您只需要会话 ID,您可以直接使用 cookie_helper 中的 get_cookie 函数获取它:

$this->load->helper('cookie');
$session_id = get_cookie('ci_session');

【讨论】:

  • 感谢弗朗西斯科的回复,但在您的方法中,除非我关闭浏览器窗口,否则 ci_session 的值是否相同?
  • 即使您关闭浏览器,会话也可能保持不变,因为浏览器可以将此信息保存在缓存中。 Codeignier 仅在没有可用的有效会话时创建一个新会话。例如,会话超时或用户清除浏览缓存。在这些情况下,Codeigniter 将生成一个新会话。 Toton,我建议您阅读 Session 文档:codeigniter.com/user_guide/libraries/… Codeginiter 文档非常好,可以为您提供所需的所有信息。
猜你喜欢
  • 2014-06-25
  • 2015-03-20
  • 1970-01-01
  • 2012-01-11
  • 2014-12-20
  • 2017-03-14
  • 2018-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多