簡體   English   中英

會話Codeigniter中的訪問數組

[英]Access Array in Session Codeigniter

我的模特:

Class Data_Anggota extends CI_Model
{
    function login($username, $password)
    {
        $this -> db -> select('*');
        $this -> db -> from('data_anggota');
        $this -> db -> where('email', $username);
        $this -> db -> where('password', $password);
        $this -> db -> limit(1);

        $query = $this -> db -> get();

        if($query -> num_rows() == 1)
        {
            return $query->row();
        }
        else
        {
            return false;
        }
    }
}

我的控制器:

$result = $this->data_anggota->login($username, $password);

$sess_array = array(
    'id' => $result->id_anggota,
    'username' => $result->email,
    'name' => $result->nama
);
$this->session->set_userdata('GIuser_login', $sess_array);

....

$data['profile'] = $this-> session -> userdata('GIuser_login');
$this->load->view('profil_view', $data);

在我的profile_view中:

echo $profile->name;
echo $profile;

都出錯並顯示此消息

消息:數組到字符串的轉換

消息:試圖獲取非對象的屬性

$sess_array = array(
    'id' => $result->id_anggota,
    'username' => $result->email,
    'name' => $result->nama
);
$this->session->set_userdata('GIuser_login', $sess_array);

由於您已將會話用戶信息設置為數組,因此需要更改profile_view

echo $profile->name;
echo $profile

echo $profile['name'];
echo $profile['username'];

試一試,它應該可以工作。

您將其作為對象進行訪問,但是它是一個數組,因此您可以按以下方式進行訪問,

echo $profile['name'];
echo $profile['username'];

或按對象

$profile = (object)$profile;
print_r($profile);
echo $profile->name;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM