dポイントプレゼントキャンペーン実施中!

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

一般的にはどのような設計をするのでしょうか?
初心者ですので、教えてください。

A 回答 (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/sessi …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!