Debug API Request & Response"; // Login dulu untuk dapat token echo "

1. Login Process:

"; $login_result = api_login('Widia', 'qwerty5*'); echo "
";
echo "Login Success: " . ($login_result['success'] ? 'YES' : 'NO') . "\n";
echo "HTTP Code: " . $login_result['http_code'] . "\n";
echo "Raw Response: " . $login_result['raw_response'] . "\n";
echo "
"; if (!$login_result['success']) { echo "

Login gagal, tidak bisa lanjut test berita

"; exit; } $token = $login_result['data']['token']; echo "

✅ Token: " . substr($token, 0, 20) . "...

"; echo "
"; // Test berita dengan debug detail echo "

2. Berita API Request:

"; // Simulasi request yang akan dikirim $endpoint = 'berita'; $body = ['token' => $token]; $url = API_BASE . $endpoint; echo "
";
echo "URL: $url\n";
echo "Method: POST\n";
echo "Body: " . json_encode($body) . "\n";
echo "Content-Type: application/x-www-form-urlencoded\n";
echo "
"; echo "

3. Berita API Response:

"; // Panggil API berita $berita_result = api_get_berita($token); echo "
";
echo "Success: " . ($berita_result['success'] ? 'YES' : 'NO') . "\n";
echo "HTTP Code: " . $berita_result['http_code'] . "\n";
echo "Raw Response: " . $berita_result['raw_response'] . "\n";
echo "
"; echo "

4. Parsed Data:

"; echo "
";
echo "Data Type: " . gettype($berita_result['data']) . "\n";
echo "Data Count: " . (is_array($berita_result['data']) ? count($berita_result['data']) : 'N/A') . "\n";
echo "Data Structure:\n";
print_r($berita_result['data']);
echo "
"; echo "

5. Berita Items:

"; if ($berita_result['success'] && !empty($berita_result['data'])) { $data = $berita_result['data']; // Cek struktur data if (isset($data['data']) && is_array($data['data'])) { $berita_items = $data['data']; echo "

✅ Data ditemukan di response['data']['data']

"; } elseif (is_array($data) && isset($data[0])) { $berita_items = $data; echo "

✅ Data ditemukan di response['data'] langsung

"; } else { $berita_items = []; echo "

❌ Struktur data tidak dikenali

"; } if (!empty($berita_items)) { echo "

Jumlah berita: " . count($berita_items) . "

"; foreach (array_slice($berita_items, 0, 3) as $index => $item) { echo "
"; echo "

Berita " . ($index + 1) . ":

"; echo "
";
            print_r($item);
            echo "
"; // Tampilkan format yang diinginkan $judul = htmlspecialchars($item['judul'] ?? '-'); $tanggal = htmlspecialchars($item['tanggal'] ?? '-'); $isi = htmlspecialchars(trim($item['isi'] ?? '')); $photoUrl = uploads_berita_url((string) ($item['photo'] ?? '')); echo "
"; echo "

📅 $tanggal — $judul

"; if ($photoUrl !== '') { echo "$judul"; } echo "

" . nl2br($isi) . "

"; echo "
"; echo "
"; } } else { echo "

❌ Tidak ada item berita ditemukan

"; } } else { echo "

❌ API berita gagal atau tidak mengembalikan data

"; } echo "
"; echo "

6. Debug Info:

"; echo "
";
echo "Session Token: " . ($_SESSION['token'] ?? 'Tidak ada') . "\n";
echo "Current Time: " . date('Y-m-d H:i:s') . "\n";
echo "PHP Version: " . phpversion() . "\n";
echo "
";