4

以下に示すように、「検証済み」という名前のセッションとして既に作成しています(ログインコントローラーで):

foreach($result as $row)
{
  $sess_array = array(
       'id' => $row->memberid, //Session field: id.
       'username' => $row->member_userunique //Session field: username.
  );
  // Create a session with a name verified, with the content from the array above.
  $this->session->set_userdata('verified', $sess_array);
}

ここで、ユーザーが book という名前のページ (book という名前のコントローラーを使用) を開いたときに、「book_id」という変数を「検証済み」セッションにもう 1 つ追加したいと考えています。

これは私がやったことです

function index()
{
   //Add a new varible called book_id
   $this->session->set_userdata('book_id', $titleID);
}

次の方法を使用して「book_id」を取得しようとしたとき:

    $session_data = $this->session->userdata('verified');
    $article_id = $session_data['book_id'];
    $user_id = $session_data['id'];

「id」のみを取得できますが、「book_id」は定義されていません。しかし、$this->session->all_userdata() で var_dump() を実行すると、「book_id」セッション変数が正常に追加されたことがわかります。

セッションに関するCIドキュメントを読んだ後、変数をどのセッションに追加する必要があるかを伝えていないため、上記のコードが機能しないことに気付きました。

誰かが私を正しい方向に向けることができますか?

4

1 に答える 1