'required|email', 'password' => 'required' ]); if (!empty($errors)) { return $this->render('auth/login', ['errors' => $errors]); } // Check database for user $user = User::findByEmail($_POST['email']); // Custom method in User model if ($user && password_verify($_POST['password'], $user['password'])) { Auth::login($user); header('Location: /dashboard'); } else { return $this->render('auth/login', ['error' => 'Invalid credentials']); } } } ?>