diff --git a/Controller/UserController.php b/Controller/UserController.php index 3194e3b..fae0cf2 100644 --- a/Controller/UserController.php +++ b/Controller/UserController.php @@ -2,28 +2,31 @@ namespace ppa\Controller; -use ppa\Model\NotesModel; +use ppa\Model\UserModel; use ppa\Library\View; -class NotesController +class UserController { - private $notesModel; + private $userModel; protected $view; public function __construct($view) { - $this->notesModel = new NotesModel(); + $this->userModel = new UserModel(); $this->view = $view; } - public function showNotes() + + public function loginUser() + { + echo "test"; + //verifyLogin($_POST['username'] ?? '', $_POST['password'] ?? '') + } + + + + public function showUserLoginForm() { - $sortBy = $_GET['sort_by'] ?? 'updated_at'; - $sortOrder = strtoupper($_GET['sort_order'] ?? 'DESC'); - - $this->view->setVars([ - "notes" => $this->notesModel->selectNotesForUser(2, $sortBy, $sortOrder) //$_SESSION['user_id'] - ]); } } \ No newline at end of file diff --git a/Model/UserModel.php b/Model/UserModel.php new file mode 100644 index 0000000..798743e --- /dev/null +++ b/Model/UserModel.php @@ -0,0 +1,31 @@ +linkDB(); + if (!$pdo) return ['success' => false, 'message' => 'Database connection error.']; + try { + $stmt = $pdo->prepare("SELECT id, username, password, role FROM users WHERE username = ?"); + $stmt->execute([$username]); + $user = $stmt->fetch(); + + if ($user && password_verify($password, $user['password'])) { + $_SESSION['user_id'] = $user['id']; + $_SESSION['username'] = $user['username']; + $_SESSION['role'] = $user['role']; // Store role + return ['success' => true, 'message' => 'Login successful!', 'redirect' => showNotes()]; + } + return ['success' => false, 'message' => 'Invalid username or password.']; + } catch (PDOException $e) { + error_log("Login Error: " . $e->getMessage()); + return ['success' => false, 'message' => 'An error occurred during login.']; + } + } +} \ No newline at end of file diff --git a/Views/User/showUserLoginForm.phtml b/Views/User/showUserLoginForm.phtml new file mode 100644 index 0000000..cb0784f --- /dev/null +++ b/Views/User/showUserLoginForm.phtml @@ -0,0 +1,22 @@ + + +
+

Login

+
+ +
+ + +
+
+ + +
+
+ + +

Don't have an account? Register here

+
+
+
+ \ No newline at end of file