問題があります。より多くのデータを取得するために AJAX リクエストを行うと、現在のユーザーがシステムにログインしていることを示す is_logued というセッション変数の値が失われます。
ページの残りの部分でテストしましたが、問題ありません。問題は、ajax リクエストが送信されたときに発生します。
Session クラスでデバッグを行いましたが、奇妙な点が見つかりません。値に print_r を作成すると、変数はセッション クラス内で正しく設定されます。さらに、値はデータベースの CI_SESSIONS テーブルに保存されます。
誰が何が起こっているのか知っていますか?セッション ライブラリを使用せずにセッション テーブルに書き込むプロセスはありますか? is_logued だけが値を失うため、非常に奇妙です。手動で行うことを確認しましたが、そうではありません。その変数に対して unset を呼び出す人はいません。
詳しくは
public function load_next_links($param)
{
$this->load->helper('principal_helper');
echo "is_logued value ".$this->session->userdata("is_logued");
echo get_next_links($param);
echo "is_logued value ".$this->session->userdata("is_logued");
}
どちらの場合も、is_logued の値は正しい値 1 です。この関数は、プリンシパル コントローラーにあります。しかし、呼び出しの後、データベースの値は 0 になります。なぜですか?
その他のデータ:
CodeIgniter.php (コア) の最後の行でデータベースの値を出力しましたが、bbdd には適切な値があります! データベースを見たときに値が正しくないのはなぜですか? この値はどこで変更されていますか?