#php #authentication #session #codeigniter-4
#php #идентификация #сессия #кодовый конструктор-4
Вопрос:
У меня проблема с входом в сеанс в моем проекте. После ввода имени пользователя и пароля он не сразу открыл страницу администратора, а вернулся к форме входа и показал сообщение «Имя пользователя и пароль Салах». Что-то не так с этим кодом контроллера?
lt;?php namespace AppControllers; use CodeIgniterController; use AppModelsLoginModel; /** * */ class Login extends Controller { public function index() { helper(['form']); echo view('formlogin'); } public function auth() { $session = session(); $model = new LoginModel(); $username = $this-gt;request-gt;getVar('username'); $password = $this-gt;request-gt;getVar('password'); $data = $model-gt;where('username', $username)-gt;first(); if ($data) { $pass = $data['password']; $verify = password_verify($password, $pass); if ($verify) { $session_data = [ 'id_login' =gt; $data['id_login'], 'username' =gt; $data['username'], 'password' =gt; $data['password'], 'logged_in' =gt; TRUE ]; $session-gt;set($session_data); return redirect()-gt;to('/adminsuper'); }else{ $session-gt;setFlashdata('msg', 'Username dan Password Salah'); return redirect()-gt;to('/login'); } }else{ $session-gt;setFlashdata('msg','Pengguna Tidak Terdaftar'); return redirect()-gt;to('/login'); } } public function logout() { $session = session(); $session-gt;destroy(); return redirect()-gt;to('/login'); } } ?gt;```
Комментарии:
1. Похоже
password_verify($password, $pass)
, метод возвращает значение false. Может быть, пароль и хэш пароля разные?2. Решенный. Я забыл хэшировать значение пароля