8

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

本机 php

$_SESSION

我怎样才能在codeigniter中做到这一点

4

8 回答 8

25

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

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

echo '<pre>'; print_r($this->session->all_userdata());exit;
于 2014-03-04T08:02:07.993 回答
5

您可以使用数据库会话。因此数据将存储到数据库中。请参阅将会话数据保存到数据库

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

$username = 'John Doe';
$this->session->set_userdata('username',$username);
$var = $this->session->userdata;
echo $var['username'];
于 2014-03-03T15:18:56.787 回答
1

要获取所有用户会话数据。首先,我们需要在控制器构造函数中手动初始化 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 会话教程。请参考以下链接

于 2015-10-04T05:50:44.257 回答
1

如果您想以我所做的方式查看所有内容$this->session,请将其转换为数组print_r

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

希望这可以帮助。

于 2016-04-01T18:34:35.873 回答
0

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

于 2014-03-08T09:30:23.717 回答
0
$this->session->userdata('data')->username
于 2019-06-15T19:05:44.540 回答
0

打印所有会话数据

echo '<pre>'; print_r($this->session);
于 2020-08-23T07:09:58.307 回答
0

我需要类似的东西来查看所有活动会话

var_dump($this->session->all_userdata()); 

上面的代码完成了这项工作。有关详细信息,请访问以下链接

https://codeigniter.com/userguide3/libraries/sessions.html#CI_Session::all_userdata

于 2021-08-14T13:03:31.223 回答