サーバー側で CodeIgniter フレームワークを使用して、ネイティブ モバイル アプリにバックエンドを提供しています。サーバー側では、カートを使用する必要があります。CodeIgniter のセッションに db を使用しています。セッションを使用すると、ブラウザの Cookie の session_id によってセッションが機能します。モバイル アプリは、ログイン リクエストが成功した後、サーバーの応答からセッション ID を取得します。この session_id は、以降のリクエストでモバイル アプリからサーバーに送信できます。
CI で sessionid に基づいてセッションのデータを取得する方法はありますか? モバイル アプリが session_id 'xyz' を送信した場合のように、session_id が 'xyz' であるセッションのデータを取得するにはどうすればよいですか? また、セッションでカートを使用しているときにセッションを操作する方がよいでしょうか?
以下は私のログインコードです。セッションはci_session
db のテーブルに保存されています。
function login($username,$password){
$query = $this->db->select("id,username")->get_where(self::$table, array('username' => $username,'Password'=>$password));
$arr=$query->row_array();
if($arr){
$this->session->set_userdata(array('id'=>$arr['id'],'username'=>$arr['username']));
// $this->db->insert('ci_sessions',array('user_id'=>$arr['id'],'username'=>$arr['username']));
return $this->session->userdata('session_id');
}
return 0;
}
では、どうすれば session_id でセッションを取得でき、カートはどのように動作するのでしょうか? このドキュメントのように考えているため: http://codeigniter.com/user_guide/libraries/cart.htmlカートは、ロードされたセッションに対してコンテンツを自動的に保存します。したがって、CI のカート ライブラリを正しく使用できるように、session_id に従ってセッションをロードする必要があります。
session_id に基づいてセッションをロードするにはどうすればよいですか? または、やり方が悪いかどうか教えてください。