1

CIセッションはデータベースに保存されます。

CodeIgniterの外部にネイティブPHPスクリプトがあり、にある情報が必要userdataです。CIセッションテーブルをクエリして、現在のユーザーのセッションが何であるかを把握する方法はありますか?CIはユーザーIPと「ブラウザデータ文字列の最初の120文字」をチェックすると思います。これらの2つのデータは、その外部スクリプトで利用できますよね?これらの2つのフィールドを照会して、正確な結果を取得できますか?それとも、CIは何とか認識していsession_idますか?

または、必要な情報を含むCIからネイティブセッション変数を設定して、外部のPHPスクリプトでアクセスしてみることができると思いました。うまくいきませんでした。

私は提案を受け入れています。

4

1 に答える 1

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

最後に $decoded_ci_session には、通常はすべてのユーザーデータが含まれている必要があります$this->session->userdata()

于 2012-06-14T13:36:49.950 に答える