尝试从Codeigniter中的cookie获取会话ID但是......

时间:2011-07-29 22:48:33

标签: php codeigniter

我正在尝试从Codeigniter中的$ _REQUEST / $ _ COOKIE中检索会话ID。问题是它返回以下内容,我不知道如何访问它:

a:4:{s:10:"session_id";s:32:"f42269d0f23d0310b0274a580c90627e";s:10:"ip_address";s:13:"128.128.128.128";s:10:"user_agent";s:50:"Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/2010010";s:13:"last_activity";i:1311979074;}ffcb685c182ffbbb1affd1ee49a558df

世界上是什么以及如何拉取会话ID(f42269d0f23d0310b0274a580c90627e)?

2 个答案:

答案 0 :(得分:5)

它是php serialize()输出,使用http://www.php.net/manual/en/function.unserialize.php将其转换回PHP数据类型

答案 1 :(得分:5)

您似乎错误地访问了会话数据。您看到的序列化数据存储在数据库中,或者如果您没有在会话cookie中使用数据库。要获取会话ID,您应该使用Codeigniter会话“userdata”。

因此,要获得会话ID,您需要:$this->session->userdata('session_id');

请记住,Codeigniter会话不是本机PHP会话,因此您必须使用会话类函数来正确获取值。我对 unserialize()函数的理解是它在性能上相当昂贵,你可能不希望不必要地使用它增加额外的开销。