我需要獲取所有會話數據並對其採取一些操作,是否有任何可能的方式來獲取它們,我發現如何在php中解決它,但codeigniter使用它自己的自定義會話庫。Codeigniter - 獲取所有用戶會話數據
機PHP
$_SESSION
我怎麼能做到這一點的笨
我需要獲取所有會話數據並對其採取一些操作,是否有任何可能的方式來獲取它們,我發現如何在php中解決它,但codeigniter使用它自己的自定義會話庫。Codeigniter - 獲取所有用戶會話數據
機PHP
$_SESSION
我怎麼能做到這一點的笨
獲取數據要獲得所有會話數據,你可以使用$this->session->all_userdata();
要打印出你所有的會話變量使用這條線在你的代碼的任何地方:
echo '<pre>'; print_r($this->session->all_userdata());exit;
您可以使用DB會話。 所以數據將被存儲到數據庫中。 見Saving Session Data to a Database
如果你沒有數據庫的支持只是使用cookie,並與
$username = 'John Doe';
$this->session->set_userdata('username',$username);
$var = $this->session->userdata;
echo $var['username'];
是的,這是一個解決方案,但在我的情況下,我不能使用db :) +1 –
您可以使用codeigniter配置文件中存儲在cookkie中的會話。 – stavgian
如果你知道如何在PHP中做到這一點,爲什麼不落實的是,和n不使用codeigniter會話類?我的經驗是CI會話類使用ajax調用和代理服務器非常糟糕,所以最好避免。
獲取所有用戶會話數據。首先我們需要在我們的控制器構造函數中使用以下代碼手動初始化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教程,請參閱鏈接http://www.tutsway.com/codeigniter-session.php。
如果你想看的一切我這樣做的方式是把$this->session
作爲數組然後print_r
它。
$this->load->library('session');
echo "<pre>". print_r((array)$this->session, true) ."</pre>";
希望這會有所幫助。
這會幫助你'$ this-> session-> all_userdata();'。在此片段之前加載會話庫。 –
是否有任何特定的數據需要獲取,但在codeigniter會話類中不可用? – anurupr
@RahilWazir $ this-> session-> all_userdata();沒有幫助,因爲它只有單個陣列爲每個用戶,我正在嘗試做 前讓我說我有2個用戶登錄到我的系統用戶A和B,我的問題是如何獲得用戶B的會話數據來自用戶A. 我是否清楚並感謝您的幫助 –