CodeIgniter - 如何查询数据库会话?

时间:2012-06-14 07:18:55

标签: php codeigniter session

我的CI会话存储在我的数据库中。

我在CodeIgniter之外有一个原生PHP脚本需要userdata中的一些信息。有没有办法让我查询CI会话表并找出当前用户的会话是什么?我认为CI检查用户IP和浏览器数据字符串的前120个字符。"那些外部脚本可以使用这两个数据,对吧?我可以查询这两个字段并获得准确的结果吗?或者CI是否知道session_id是什么?

或者,我认为我可以从包含我需要的信息的CI设置本机会话变量,并尝试在外部PHP脚本中访问它。它没有用。

我愿意接受建议。

1 个答案:

答案 0 :(得分:0)

我使用此代码将彗星聊天(外部应用程序)与我的CI用户系统集成:您可能需要修改它,但您可以获得这个代码:

$decoded_ci_session = @unserialize(@stripslashes($_COOKIE['ci_session']));

$sql = "SELECT user_data FROM ".TABLE_PREFIX."sessions WHERE session_id = '".$decoded_ci_session['session_id']."'";

$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$decoded_ci_session = @unserialize(@stripslashes($row[0]));

最后$ decoding_ci_session应该包含$this->session->userdata()中通常的所有用户数据