"> şeklinde kullanacağız. // 4. Güvenli Yönlendirme (Routing) $route = isset($_GET['route']) && !empty($_GET['route']) ? rtrim($_GET['route'], '/') : 'home'; // İzin verilen modüller (Sadece bu sayfalar yüklenebilir) // Giriş, kayıt ve şifre işlemleri 'accounts' sayfasına yönlendirilir $allowed_pages = [ 'home' => 'pages/home.php', 'login' => 'pages/accounts.php', 'register' => 'pages/accounts.php', 'verify' => 'pages/accounts.php', 'forgot-password' => 'pages/accounts.php', 'dashboard' => 'pages/dashboard.php' // İleride eklenecek panel ]; // 5. İstek Türünü Tespit Etme (AJAX motorunu korumak için kritik) $is_ajax_request = !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'; $is_auth_action = isset($_POST['ajax_account_action']); // 6. Sayfa Yükleme ve Birleştirme Motoru if (array_key_exists($route, $allowed_pages)) { $file = $allowed_pages[$route]; if (file_exists($file)) { // EĞER İSTEK AJAX İSE (accounts.php içindeki JSON dökümü tetikleniyorsa) // Header'ı yüklemiyoruz! Sadece ilgili php dosyasını çalıştırıp işlemi bitiriyoruz. if ($is_ajax_request || $is_auth_action) { require_once $file; exit; } // --- NORMAL SAYFA YÜKLEMESİ (Kullanıcı arayüzü) --- // 1. Ortak Header'ı Yükle (Tema değişkenini alarak çalışır) if (file_exists('pages/header.php')) { require_once 'pages/header.php'; } // 2. Ana İçeriği Yükle (Örn: accounts.php veya home.php'nin HTML kısmı) require_once $file; // 3. Ortak Footer eklenecekse buraya (İlerisi için hazırlık) // if (file_exists('pages/footer.php')) { require_once 'pages/footer.php'; } } else { // Dosya sistemde yoksa http_response_code(500); die("

500 - Sistem Hatası

İlgili modül ({$route}) bulunamadı.

"); } } else { // İzinsiz veya hatalı URL adresi girildiyse http_response_code(404); die("

404 - Sayfa Bulunamadı

Aradığınız finansal veri veya sayfa mevcut değil.

"); } ?>