Codeigniter登录后如何获取用户ID

时间:2015-03-15 08:51:46

标签: php codeigniter login registration userid

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

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

3 个答案:

答案 0 :(得分:2)

最佳做法是,在成功后检查模型中的登录详细信息时,您应创建一个会话,保存该用户的用户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;
}

}

您可以将此功能放在模型中并将其应用到控制器中。我希望这会有所帮助。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

好的程序员在登录时创建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;

我希望它能以一般的方式帮助你。