CodeIgniterを使用するデータベースからユーザーIDをセッションデータに追加しようとしています。セッションIDにユーザーIDを追加する(コード番号)
私はこのquestion見てきたし、それがために動作しませんでした私
コントローラーコード:
function validate_credentials()
{
$this->load->model('users_model');
$query = $this->users_model->validate();
// if the users credentials validated...
if($query)
{
$user_id = $this->users_model->get_userID($this->input->post('email'));
/*
I dont need to worry about insecure code because all incoming data
is filtered (set in config.php)
*/
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true,
'user_id' => $user_id
);
$this->session->set_userdata($data);
redirect('site/members');
}
else
{
// incorrect username or password
$this->index();
}
}
モデルコード:(列はのユーザーテーブルに「ユーザーID」と呼ばれますdb)
function get_userID($email){
$this->db->where('email',$email);
$query = $this->db->get('users');
foreach ($query->result() as $row)
{
$user_id = $row->userID;
}
return $user_id;
}
ビューで配列を呼び出すと、ユーザーIDは表示されません。
<?php $this->session->userdata('user_id');?>
あなたに結果が表示されます?クエリ内の値がエコーを得るため、あなたはいけない小さなエラーに時々
$user_id
と$data
をエコー試すようなあなたの問題を理解するのに役立ちますかあなたは、次のページのセッションで$データ配列を見ていませんか? – davidethell謝罪;元の投稿を更新しました。ビュー内から配列を呼び出すと、何も得られません。 session-> userdata( 'user_id');?> –
他の変数は表示されますか? –