0

私は2つのセッションを設定しようとしています:

$this->session->set_userdata('name', 'value');

しかし、私は1つしか設定できません。私は:

$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user['id']);

最初のものは機能しますが、2番目のものは決して設定されません。

誰でも私を助けることができますか?

ありがとう!

PS: 私はポルトガル人です。文法に誤りがあるかもしれません。そのために残念。

4

4 に答える 4

2

$this->session->set_userdata(array('logged_in' => TRUE, 'user_id'=> $user['id']));

于 2012-12-31T09:25:07.203 に答える
2

あなたの場合、$user配列ではなくオブジェクトです:

$this->session->set_userdata('user_id', $user->id);
于 2012-12-31T09:36:23.163 に答える
1

機能を正しく使用していません。

CIマニュアルより

$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user->id);

これは、すべてのセッション データを設定する方法です。

$user配列ではなくオブジェクトを生成することに注意してください。だからあなたのアクセスは間違っています。それ以外の場合はrow_array()、上記のように関数とアクセスを使用できます

于 2012-12-31T09:32:31.890 に答える
1

場合$user = $query->row_array():

$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user['id']);

場合$user = $query->row():

$this->session->set_userdata('logged_in', TRUE);
$this->session->set_userdata('user_id', $user->id);

http://ellislab.com/codeigniter/user-guide/database/results.html

それでもうまくいかない場合は、これを試してください:

    $this->db->where('email',$email);
    $this->db->where('password',$password);
    $query = $this->db->get('users');
    return $query->row();

* *私は英語が苦手です。

于 2012-12-31T09:16:23.093 に答える