$regUsername, 'role' => 'user' ]; header('Location: index.php'); exit; } else { $errors[] = 'Registration failed. The username or email may already be in use.'; } } else { $username = trim($_POST['username'] ?? ''); $password = (string) ($_POST['password'] ?? ''); if ($username === '' || $password === '') { $errors[] = 'Please enter both username and password.'; } else { $user = findUserByUsername($username); if ($user && verifyPassword($password, $user['passwordHash'] ?? '')) { $_SESSION['auth_user'] = [ 'username' => $user['username'], 'role' => $user['role'] ?? 'user' ]; if (!empty($_POST['remember'])) { setRememberMeCookie($user['username']); } else { clearRememberMeCookie($user['username']); } header('Location: index.php'); exit; } $errors[] = 'Invalid username or password.'; } } } if (isLoggedIn() && !isGuestSession()) { header('Location: index.php'); exit; } ensureConfigDirectory(); if (empty(loadUsers())) { $created = createUser('admin', 'changeme', 'admin', 'admin@example.com'); if ($created) { $message = 'Default admin account created. Username: admin / Password: changeme'; } } ?> Login - KaI

KaI Login

No account yet?
Create a new account
', $errors)); ?>
Default admin account is created on first run: admin / changeme
Forgot password?