Detail Debug Test
1. Cek file check_access.php: ✅ ADA
Isi file: <?php
// check_access.php
// File ini digunakan untuk mengecek akses user berdasarkan role
// Tidak perlu session_start() karena sudah ada di panggil.php
// Fungsi untuk cek apakah user sudah login
function isLoggedIn() {
return isset($_SESSION['login']) && $_SESSION['login'] === true;
}
// Fungsi untuk cek apakah user adalah admin
function isAdmin() {
return isset($_SESSION['role']) && $_SESSION['role'] === 'admin';
}
// Fungsi untuk redirect jika belum login
function requireLogin() {
if (!isLoggedIn()) {
header('Location: index.php');
exit;
}
}
// Fungsi untuk redirect jika bukan admin
function requireAdmin() {
requireLogin(); // Pastikan sudah login dulu
if (!isAdmin()) {
// Redirect ke halaman yang diizinkan untuk non-admin
header('Location: kegiatan.view.php');
exit;
}
}
// Fungsi untuk cek akses halaman
function checkPageAccess($currentPage) {
requireLogin(); // Pastikan user sudah login
// Daftar halaman yang bisa diakses semua user
$allowedForAll = [
'kegiatan.view.php',
'logout.php',
'profile.php' // jika ada halaman profile
];
// Jika admin, bisa akses semua halaman
if (isAdmin()) {
return true;
}
// Jika bukan admin, cek apakah halaman diizinkan
if (!in_array($currentPage, $allowedForAll)) {
header('Location: kegiatan.view.php');
exit;
}
return true;
}
?>
2. Test requireLogin(): ✅ Function EXISTS
3. Session status:
Warning: session_start(): Session cannot be started after headers have already been sent in /home/aplikasiposinfo/public_html/panahan.aplikasipos.info/test_detail2.php on line 34
✅ Started
4. Database connection:
Warning: session_start(): Session cannot be started after headers have already been sent in /home/aplikasiposinfo/public_html/panahan.aplikasipos.info/panggil.php on line 4
✅ Connected
5. Test query kegiatan:
✅ ID: 1
✅ Nama: apasajala
6. Test akses detail.php:
🔗 Buka detail.php?kegiatan_id=1
7. Test tabel categories:
| ID | Name | Status |
|---|
| 1 | Official | active |
| 2 | Shortbow NON Pelajar Putra jarak 20m | active |
| 3 | Shortbow NON Pelajar Putri jarak 20m | active |
8. Test tabel peserta:
✅ Total peserta: 177
9. Simulasi load detail.php:
Set kegiatan_id = 1
10. Struktur tabel peserta:
| Field | Type | Null | Key |
|---|
| id | int(11) | NO | PRI |
| nama_peserta | varchar(100) | NO | |
| tanggal_lahir | date | NO | |
| jenis_kelamin | enum('Laki-laki','Perempuan') | YES | |
| asal_kota | varchar(100) | YES | |
| nama_club | varchar(100) | YES | |
| sekolah | varchar(100) | YES | |
| kelas | varchar(50) | YES | |
| nomor_hp | varchar(20) | YES | |
| bukti_pembayaran | varchar(255) | YES | |
| category_id | int(11) | YES | |
| kegiatan_id | int(11) | YES | |
Jika semua test di atas OK, tapi detail.php masih tidak bisa dibuka, coba:
- Klik tombol hijau di atas
- Screenshot error yang muncul
- Cek console browser (F12) untuk JavaScript errors
- Cek error log PHP di server