• ベストアンサー

セッションについて

codeigniterで作成を試みているのですが、セッションについてよくわかりません。 DBを用いてセッションを管理しようとしています。 たとえば、会員テーブルを id(auto_increment)で順に登録が増えるとします。 同一セッションで会員のレコードを増えるのを避けたいと考えてセッションテーブルと会員テーブルの紐付けを行うのが必要と考えました。 このとき、セッションテーブルにidを登録するのがいいのでしょうか? それとも会員テーブルにセッションIDを登録するのがいいのでしょうか? 一般的にはどのような設計をするのでしょうか? 初心者ですので、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

CodeIgniter 2.x から CodeIgniterのCI_Sessionライブラリでは セッションをDBで管理する必要が無くなりました。 CI_SessionでセッションをDBで管理するのはリソースの無駄遣いでしかないと思います。 もし、会員情報を取得するのにセッションデータのなんらかのキーを使うのであれば $this->session->set_userdata('user_id', '12345'); のように会員IDなどをセットしておいて、ユーザ情報を取得する必要があるアクションで $user_id = $this->session->userdata('user_id'); $query = $this->db->get_where('user_tbl', array('user_id' => $user_id)); とすればよいのではないでしょうか。 見当違いの回答だったらすみません・・・

参考URL:
http://www.ci-guide.info/practical/library/session/

関連するQ&A