[英]How can I display the name of my admin full name after login - Codeigniter
我在显示管理员全名时遇到麻烦,例如,管理员全名是John Doe,它没有显示。 我还在学习codeigniter,请给我建议,谢谢!
这是我的控制器
//Get username
$username = $this->input->post('username');
//Get and encrypt the password
$password = $this->input->post('password');
// Login user
$user_id = $this->role_model->login($username, $password);
if ($user_id) {
// Create session
$user_data = array(
'user_id' => $user_id,
'name' => $user_id->name,
'username' => $username,
'logged_in' => true
);
$this->session->set_userdata($user_data);
//Set message
$this->session->set_flashdata('user_loggedin','You are now logged in');
redirect('pages/index');
这是我的视图-我想在其中显示我的全名,正如您所看到的, “ name”是我必须显示的数据字段,但它没有显示任何内容,它给出了一个错误,提示未定义名称。
<li><a> Welcome, <?php echo $this->session->name ?> </a></li>
模型
public function login($username, $password){
//Validate
$this->db->where('username',$username);
$this->db->where('password',$password);
$result = $this->db->get('users');
if ($result->num_rows() == 1) {
return $result->row(0)->id;
}else{
return false;
}
}
它显示为undefined,因为它确实是undefined。 在您看来,您正在尝试回显名为userdata()
的函数的返回值,该函数实际上存在吗? 还是$this->session->userdata
是一个数组? 在这种情况下,您需要使用[ index ]
来访问数组中的成员。 即$this->session->userdata['name']
,但是该成员必须首先存在。
controller :
if($this->Login_model->login_valid($email,$password))
{
$sessiondata = array(
'username' => $email
);
$this->session->set_userdata('logged_in', $sessiondata);
redirect('narson');
}
else
{
$this->session->set_flashdata('error',"Invalid Username And password");
redirect('login');
}
model:
public function login_valid($username,$password)
{
$this->db->where('username',$username);
$this->db->where('password',$password);
$query = $this->db->get('admin');
if($query->num_rows() > 0)
{
return true;
}
else
{
return false;
}
}
您的方法login()
仅返回id = digit( return $result->row(0)->id;
),而不返回对象(在控制器中,您获得$user_id->name
)。
在模型中执行以下操作:
if ($result->num_rows() == 1) {
return $result->row(0); // fix
}else{
return false;
}
在控制器中:
$user = $this->role_model->login($username, $password);
$user_data = array(
'user_id' => $user->id, // fix
'name' => $user->name, // fix
'username' => $username,
'logged_in' => true
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.