我需要获取所有会话数据并对它们采取一些操作,有没有任何可能的方法来获取它们,我发现如何在php中解决它,但是codeigniter使用它自己的自定义会话库。
Native php
$_SESSION
我如何在codeigniter中执行此操作
答案 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);