- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
Profesyonel bir admin paneli hazırlarken kodlarımızı "Front-end" (Ziyaretçi tarafı) ve "Back-end" (Yönetici tarafı) olarak iki ayrı klasöre ayırmalıyız. Bu, hem güvenlik hem de düzen açısından hayati önem taşır.
Dosyalarınızı şu hiyerarşide tutmak, projeniz büyüdüğünde yönetimi kolaylaştıracaktır:
Her admin sayfasının başında, kullanıcının giriş yapıp yapmadığını kontrol etmeliyiz. Bu kontrolü inc/kontrol.php olarak kaydedip tüm sayfalara include edebiliriz.
Panelin her sayfasında menülerin tekrar etmemesi için parçalı yapı (Modular) kullanmalıyız.
admin/index.php:
Admin panelinde en çok yapacağınız işlem, bir veriyi ID numarasına göre silmektir.
Sağlam bir admin paneli iskeleti, sadece kod yazmak değil, bir "kullanıcı deneyimi" tasarlamaktır. Panelinizde Bootstrap veya AdminLTE gibi hazır CSS kütüphanelerini kullanarak hem mobil uyumlu hem de şık görünümlü bir yönetim merkezi oluşturabilirsiniz. Unutmayın, iyi bir admin paneli, bir web sitesinin sürdürülebilirliğini sağlar.
1. İdeal Klasör Yapısı
Dosyalarınızı şu hiyerarşide tutmak, projeniz büyüdüğünde yönetimi kolaylaştıracaktır:
[] /admin (Admin klasörü)
[] /admin/inc (Header, footer, sidebar parçaları)
[] /admin/index.php (Dashboard / Özet sayfası)
[] /admin/giris.php (Login sayfası)
[] /admin/fonksiyonlar.php (Yetki kontrolü ve veritabanı işlemleri)
[] /css ve /js (Tasarım dosyaları)
2. Yetki Kontrolü (Güvenlik Duvarı)
Her admin sayfasının başında, kullanıcının giriş yapıp yapmadığını kontrol etmeliyiz. Bu kontrolü inc/kontrol.php olarak kaydedip tüm sayfalara include edebiliriz.
PHP:
<?php
session_start();
// Eğer giriş yapılmamışsa giriş sayfasına yönlendir
if (!isset($_SESSION['admin_id'])) {
header("Location: giris.php");
exit();
}
?>
3. Dinamik Sidebar ve Header Yapısı
Panelin her sayfasında menülerin tekrar etmemesi için parçalı yapı (Modular) kullanmalıyız.
admin/index.php:
PHP:
<?php
require_once 'inc/kontrol.php'; // Giriş kontrolü
require_once 'inc/header.php'; // Tasarım üst kısım
require_once 'inc/sidebar.php'; // Menü kısmı
?>
<div class="content">
<h1>Yönetim Paneline Hoş Geldiniz</h1>
<div class="stats">
<div class="box">Toplam Üye: 150</div>
<div class="box">Bekleyen Yorum: 12</div>
</div>
</div>
<?php require_once 'inc/footer.php'; ?>
Admin Paneli Temel Bileşenleri
| Bileşen | Görevi | Önemli Detay |
|---|---|---|
| Dashboard | İstatistiklerin özeti | Toplam sipariş, son üyeler gibi veriler. |
| CRUD Modülleri | Veri yönetimi | İçerik ekleme, silme ve düzenleme formları. |
| Dosya Yöneticisi | Resim ve dökümanlar | Yüklenen görsellerin klasörlenmesi. |
| Ayarlar | Site genel ayarları | Title, Description, SMTP mail ayarları. |
4. CRUD İşlemlerine Giriş (Örnek: Blog Silme)
Admin panelinde en çok yapacağınız işlem, bir veriyi ID numarasına göre silmektir.
PHP:
// admin/blog-sil.php
require_once 'inc/kontrol.php';
require_once '../db.php'; // DB bağlantısı
if (isset($_GET['id'])) {
id=(int)_GET['id'];
$sil = $db->prepare("DELETE FROM blog_yazilari WHERE id = ?");
$sonuc = $sil->execute([$id]);
if ($sonuc) {
header("Location: blog-listesi.php?durum=ok");
} else {
header("Location: blog-listesi.php?durum=hata");
}
}
Sonuç
Sağlam bir admin paneli iskeleti, sadece kod yazmak değil, bir "kullanıcı deneyimi" tasarlamaktır. Panelinizde Bootstrap veya AdminLTE gibi hazır CSS kütüphanelerini kullanarak hem mobil uyumlu hem de şık görünümlü bir yönetim merkezi oluşturabilirsiniz. Unutmayın, iyi bir admin paneli, bir web sitesinin sürdürülebilirliğini sağlar.