私のサイトにログインすると、直接プロフィール ページに移動します。名前、電話番号、電子メールなどを確認できるようにします。ただし、自分のサイトにログインすると、自分のプロフィール ページに移動しますが、DB 内のすべてのユーザーのすべてのデータを取得します。したがって、すべてのユーザーの名前、すべてのユーザーの電話などを取得しています。ログインした人のデータのみを取得したいのですが、どうすればこれを達成できますか? いろいろ考えた結果、思いついたのwhere userID = ID of the user HERE
ですが、どこでこのユーザーのIDを取得できるのかわかりません。ログイン時にセッションを開始するので、ログインしたユーザー ID をセッションに保存する必要がありますか? それとも安全ではないですか?
私はCodeIgniterを学んで使っているので、MVCパターンでやっています。
ログインしてセッションを設定するコントローラー
if($query){
$data = array(
'username' => $this->input->post('loginEmail'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
コントローラ
if($logged_in){
//if the user is logged in
$this->load->model('profile_model');
if($query = $this->profile_model->userInfo()){
$data['records'] = $query;
$data['content'] = 'profile_view';
$this->load->view('templates/template', $data);
}
}
モデル
class Profile_model extends CI_Model{
function userInfo(){
$query = $this->db->get('tbl_users');
return $query->result();
}
}
データを表示したい場所を表示する
if(isset($records)){
foreach($records as $row){
echo $row->username;
echo $row->cellphone;
}
}