実行中のプロジェクトでセッション関連の問題に直面しています。そこで、新しいコピーを取り、単純なコードでセッションをチェックすることを考えました。そこで、Codeigniter 2.1.3 の新しいコピーをダウンロードし、自動ロードでセッション ライブラリを追加しました。また、構成ファイルに5桁の暗号化キーを設定しました。次に、ウェルカム コントローラーで次の 2 つのメソッドを作成しました。
public function gettingSess() {
echo '<pre>';
print_r($this->session->all_userdata());
echo '</pre>';
exit;
}
public function settingSess() {
$arr = array('start' => '456');
for($i=0;$i <= 999;$i++) {
$arr['lets_test' . $i] = $i * 100;
}
$this->session->set_userdata('sessVar', $arr);
echo '<pre>';
print_r($this->session->all_userdata());
echo '</pre>';
exit;
}
次に、最初にhttp://mydomain.com/ci/index.php/welcome/settingSessを実行すると、その出力は次のようになり、完璧です。
Array (
[session_id] => dd0a684ab53e937309ee9fdbcf24468f
[ip_address] => 127.0.0.1
[user_agent] => Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0
[last_activity] => 1371458835
[user_data] =>
[sessVar] => Array
(
[start] => 456
[lets_test0] => 0
[lets_test1] => 100
.
.
[lets_test999] => 99900
)
)
次に、http://mydomain.com/ci/index.php/welcome/gettingSessを実行すると、その出力は次のようになります。
Array(
[session_id] => dd0a684ab53e937309ee9fdbcf24468f
[ip_address] => 127.0.0.1
[user_agent] => Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0
[last_activity] => 1371458835
[user_data] =>
)
私が間違っていることと問題は何か、getsess メソッドでセッション変数を取得できない理由を教えてください。
ありがとう。