[英]how can i print the username of the user who login using session
这是我的用户模型
public function user_login($email, $password)
{
$this->load->library('session');
$this->db->where('email', $email);
$this->db->where('password', $password);
$query = $this->db->get('users');
if($query->num_rows() > 0) {
foreach($query->result() as $row) {
$data = array(
'id' => $row->id,
'username' => $row->username,
'email' => $row->email
);
$this->session->set_userdata($data);
}
return 1;
} else {
return false;
}
}
在我看来,我有一个div来显示用户的会话用户名
<div>
<?php echo $this->session->userdata('username'); ?>
</div>
它没有出现可能是什么问题?
当我像这样打印userdata()
的内容时
<?php print_r($this->session->userdata()); ?>
我得到回应
Array ( [__ci_last_regenerate] => 1502894606 )
简化您的查询
$data = $this->db->where(['email'=>$email, 'password'=>$password])->get('users')->row_array();
if($data){
$_SESSION['id'] = $data['id'];
$_SESSION['username'] = $data['username'];
$_SESSION['email'] = $data['email'];
return TRUE;
}
else{
return FALSE;
}
鉴于:
<div>
<?php echo $_SESSION['username']; ?>
</div>
尝试像echo $data['username']
这样打印出来,其中$data
是您要从控制器发送到视图的变量
如果您实际上有一个用户名与
$row->username
然后在该数组之后,添加
$this->load->vars( array('username' => $row->username) );
在您看来,您将可以获得用户名
echo $username;
这是假设您在设置会话后没有重定向。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.