我已成功创建了注册和登录系统 我在登录表单中使用了useremail和密码,我想显示与登录用户相关的用户名和其他属性。
在codeigniter中登录后获取用户标识的最简单和最佳做法是什么?
答案 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;
我希望它能以一般的方式帮助你。