prepare("SELECT * FROM users WHERE username = ? AND active = 1 LIMIT 1"); $stmt->execute([$username]); $user = $stmt->fetch(); if ($user && password_verify($password, $user['password_hash'])) { session_regenerate_id(true); $_SESSION['user_id'] = $user['id']; $_SESSION['full_name'] = $user['full_name']; $_SESSION['role'] = $user['role']; header('Location: dashboard.php'); exit; } $error = 'Invalid username or password.'; } ?>