1

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

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

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

我愿意接受建议。

4

1 回答 1

0

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

$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]));

最后 $decoded_ci_session 应该包含所有用户数据,通常在$this->session->userdata()

于 2012-06-14T13:36:49.950 回答