我需要获取所有会话数据并对它们采取一些操作,有没有可能的方法来获取它们,我找到了如何在 php 中解决它,但 codeigniter 使用它自己的自定义会话库。
本机 php
$_SESSION
我怎样才能在codeigniter中做到这一点
我需要获取所有会话数据并对它们采取一些操作,有没有可能的方法来获取它们,我找到了如何在 php 中解决它,但 codeigniter 使用它自己的自定义会话库。
本机 php
$_SESSION
我怎样才能在codeigniter中做到这一点
要获取所有会话数据,您可以使用$this->session->all_userdata();
要打印所有会话变量,请在代码中的任何位置使用此行:
echo '<pre>'; print_r($this->session->all_userdata());exit;
您可以使用数据库会话。因此数据将存储到数据库中。请参阅将会话数据保存到数据库
如果您没有数据库支持,只需使用 cookie 并使用
$username = 'John Doe';
$this->session->set_userdata('username',$username);
$var = $this->session->userdata;
echo $var['username'];
要获取所有用户会话数据。首先,我们需要在控制器构造函数中手动初始化 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 会话教程。请参考以下链接
如果您想以我所做的方式查看所有内容$this->session
,请将其转换为数组print_r
。
$this->load->library('session');
echo "<pre>". print_r((array)$this->session, true) ."</pre>";
希望这可以帮助。
如果您知道如何在 PHP 中执行此操作,为什么不实现它,而不使用 codeigniter 会话类?我的经验是 CI 会话类在 ajax 调用和代理服务器上非常糟糕,所以最好避免。
$this->session->userdata('data')->username
打印所有会话数据
echo '<pre>'; print_r($this->session);
我需要类似的东西来查看所有活动会话
var_dump($this->session->all_userdata());
上面的代码完成了这项工作。有关详细信息,请访问以下链接
https://codeigniter.com/userguide3/libraries/sessions.html#CI_Session::all_userdata