Codeigniter如何在登录后获取用户ID

Codeigniter how to get userid after login

我已成功创建注册登录系统。
我在登录表单中使用了 useremail 和密码,我想显示与登录用户相关的用户名和其他属性。

在 codeigniter 中登录后获取用户 ID 的最简单和最佳做法是什么?

您可以在登录成功后创建会话并设置用户ID。

最佳做法是,当您在成功后检查模型中的登录详细信息时,您应该创建一个会话保存该用户的用户 ID,并在应用程序的任何位置使用它来获取该用户的相应数据。查看以下登录用户的伪代码。

    public function userAuthentication($username,$pass)
{

$this->db->select('id');
$this->db->where('username',$username);
$this->db->where('password',md5($pass));
$result = $this->db->get('users')->result();

if(!empty($result)){
   $this->session->set_userdata('userlogged_in', $result[0]->id);
  return true;
}else{
  return false;
}

}

您可以将此函数放在您的模型中,并将其应用到您的控制器中。希望对您有所帮助。

作为优秀的编码员,在登录时创建 session 并在整个网站范围内使用 session

public function login($username, $password) {
    $user = $this->db
        ->select("username, name, phone")
        ->where(
             [
                'username' => $username,
                'password' => md5($password)
             ]
         )
        ->get("table_name")
        ->row();

   if ($user) {
         $logindata = [
             'userid' => $user->username,
             'name'   => $user->name,
             'phone'  => $user->phone
         ];
         $this->session
              ->set_userdata($logindata);
         return true;
   }
   else {
         return false;
   }
} 

然后就可以在网站的任何地方使用了

echo $this->session->userid;

希望对您有所帮助。