Codeigniter - 获取所有用户会话数据

时间:2014-03-03 14:48:35

标签: php session codeigniter-2 session-variables

我需要获取所有会话数据并对它们采取一些操作,有没有任何可能的方法来获取它们,我发现如何在php中解决它,但是codeigniter使用它自己的自定义会话库。

Native php

$_SESSION

我如何在codeigniter中执行此操作

7 个答案:

答案 0 :(得分:21)

要获取所有会话数据,您可以使用$this->session->all_userdata();

要打印所有会话变量,请在代码中的任意位置使用此行:

echo '<pre>'; print_r($this->session->all_userdata());exit;

答案 1 :(得分:4)

您可以使用db session。 因此数据将存储到数据库中。 见Saving Session Data to a Database

如果您没有数据库支持,只需使用cookie并使用

获取数据
$username = 'John Doe';
$this->session->set_userdata('username',$username);
$var = $this->session->userdata;
echo $var['username'];

答案 2 :(得分:1)

如果您希望看到所有内容,我的方式是将$this->session转换为数组,然后print_r

        $this->load->library('session');
        echo "<pre>". print_r((array)$this->session, true) ."</pre>";

希望这有帮助。

答案 3 :(得分:0)

如果您知道如何在PHP中执行此操作,为什么不实现它,而不是使用codeigniter会话类?我的经验是,CI会话类在使用ajax调用和代理服务器时非常糟糕,因此最好避免使用它。

答案 4 :(得分:0)

获取所有用户的会话数据。首先,我们需要在控制器构造函数中手动初始化Session类,使用以下代码。

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

然后我们使用以下代码。

$this->session->all_userdata();

上面的函数返回一个关联数组,如下所示。

Array
( [session_id] => 4a5b5dca45708ab1a84364eeb455j007 [ip_address] => 127.0.0.1 [user_agent] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; [last_activity] => 1102132923
)

完整的Ci Session教程。请在link

之后推荐人

答案 5 :(得分:0)

$this->session->userdata('data')->username

答案 6 :(得分:0)

要打印所有会话数据

echo '<pre>'; print_r($this->session);
相关问题