buidl out some basic functionality
This commit is contained in:
62
src/Controller/AuthController.php
Normal file
62
src/Controller/AuthController.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
namespace Hpz937\BillReminder\Controller;
|
||||
|
||||
use Hpz937\BillReminder\Database\SQLiteAdapter;
|
||||
use Hpz937\BillReminder\User\User;
|
||||
|
||||
class AuthController {
|
||||
protected $db;
|
||||
|
||||
public function __construct() {
|
||||
$this->db = new SQLiteAdapter();
|
||||
}
|
||||
|
||||
public function showLoginForm() {
|
||||
require PROJECT_ROOT . '/views/auth/login.php';
|
||||
}
|
||||
|
||||
public function login() {
|
||||
$username = $_POST['username'] ?? '';
|
||||
$password = $_POST['password'] ?? '';
|
||||
|
||||
if (empty($username) || empty($password)) {
|
||||
$error = 'Username and password are required.';
|
||||
require PROJECT_ROOT . '/views/auth/login.php';
|
||||
return;
|
||||
}
|
||||
|
||||
$user = new User($this->db);
|
||||
if ($user->login($username, $password)) {
|
||||
header('Location: /dashboard');
|
||||
exit;
|
||||
} else {
|
||||
$error = 'Login failed. Please check your credentials.';
|
||||
require PROJECT_ROOT . '/views/auth/login.php';
|
||||
}
|
||||
}
|
||||
|
||||
public function showRegistrationForm() {
|
||||
require PROJECT_ROOT . '/views/auth/register.php';
|
||||
}
|
||||
|
||||
public function register() {
|
||||
$username = $_POST['username'] ?? '';
|
||||
$password = $_POST['password'] ?? '';
|
||||
$email = $_POST['email'] ?? '';
|
||||
|
||||
if (empty($username) || empty($password) || empty($email)) {
|
||||
$error = 'All fields are required.';
|
||||
require PROJECT_ROOT . '/views/auth/register.php';
|
||||
return;
|
||||
}
|
||||
|
||||
$user = new User($this->db);
|
||||
if ($user->register($username, $password, $email)) {
|
||||
header('Location: /');
|
||||
exit;
|
||||
} else {
|
||||
$error = 'Registration failed. Please try again.';
|
||||
require PROJECT_ROOT . '/views/auth/register.php';
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user