我的模特:
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);
在我的个人资料视图中:
echo $profile->name;
echo $profile;
两个错误并显示此消息
消息:数组到字符串转换
消息:尝试获取非对象的属性
答案 0 :(得分:2)
$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'];
试一试,它应该有效。
答案 1 :(得分:1)
您正在将其作为对象访问,但它是一个数组,因此您可以按如下方式访问
echo $profile['name'];
echo $profile['username'];
或者通过Object,
$profile = (object)$profile;
print_r($profile);
echo $profile->name;