Я успешно создал систему регистрации и входа.
Я использовал useremail и пароль в форме входа в систему, и я хочу отобразить имя пользователя и другие свойства, связанные с этим вошедшим в систему пользователем.
Каковы самые простые и лучшие практики для получения идентификатора пользователя после входа в систему с помощью codeigniter?
Как создать хороший кодер 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;
Я надеюсь, что это поможет вам в целом.
Рекомендуется, чтобы при успешном проверке данных для входа в вашу модель вы создавали идентификатор пользователя, сохраняющий сеанс, и использовали его в любом месте вашего приложения для извлечения соответствующих данных для этого пользователя. Взгляните на следующий код psuedo для входа в систему.
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;
}
}
Вы можете разместить эту функцию в своей модели и применить ее в своем контроллере. Надеюсь, это поможет.
Вы можете создать сеанс и установить идентификатор пользователя после успешного входа в систему.