Forumel.Com

Geri Git   Forumel.Com > Webmaster > Webmaster Forum > Web Programlama

Web Programlama Bir web programlama dili ve veritabanı ile dinamik içerikli web siteleri yapmayı amaçlar.


PHP + DataTables ile Gelişmiş Admin Arama & Filtreleme Paneli — Üye, Konu, Post ve Ek Dosya

Bir web programlama dili ve veritabanı ile dinamik içerikli web siteleri yapmayı amaçlar.



Konu Bilgileri
Konu Başlığı
PHP + DataTables ile Gelişmiş Admin Arama & Filtreleme Paneli — Üye, Konu, Post ve Ek Dosya
Konudaki Cevap Sayısı
1
Şuan Bu Konuyu Görüntüleyenler
 
Görüntülenme Sayısı
58

Kullanıcı Etiket Listesi

4Beğeniler
  • 3 Post By DEKO
  • 1 Post By Evillusions

  
 
LinkBack Seçenekler Stil
Eski 21 Nisan 2026, 23:31   #1
Çevrimdışı
DEKO
DEKO - ait Kullanıcı Resmi (Avatar)
Üyelerin profil bilgilerini yalnızca kayıtlı üyeler görüntüleyebilir. Lütfen kaydol bağlantısından üye olunuz.
yazı PHP + DataTables ile Gelişmiş Admin Arama & Filtreleme Paneli — Üye, Konu, Post ve Ek Dosya

PHP + DataTables ile Gelişmiş Admin Arama & Filtreleme Paneli — Üye, Konu, Post ve Ek Dosya

Merhaba,

PHP tabanlı siteme yönetim paneli geliştirirken üyeler, konular, postlar ve ek dosyalar üzerinde hızlıca arama yapabileceğim, filtreleyebileceğim ve toplu işlem uygulayabileceğim tek bir panel istedim. DataTables'ın server-side modunu kullanarak yazdığım bu paneli sizinle paylaşıyorum.

━━━━━━━━━━ PANEL NE YAPIYOR? ━━━━━━━━━━

Tek dosya, 4 sekme. Her sekme kendi filtre barı ve toplu işlem butonlarıyla geliyor.

📋 Üyeler Sekmesi
  • Kullanıcı adı veya e-posta ile anlık arama
  • Role göre filtre (admin, moderator, vip, user...)
  • Duruma göre filtre (aktif / banlı)
  • Kayıt tarih aralığına göre filtre
  • Her satırda: profil görüntüle, tekli banla/ban kaldır, tekli sil
  • Toplu işlem: Banla · Ban Kaldır · Sil

💬 Konular Sekmesi
  • Başlık veya yazar ile arama
  • Duruma göre filtre (açık / kapalı / sabitli)
  • Kategoriye göre filtre
  • Tarih aralığı filtresi
  • Her satırda: görüntüleme sayısı, cevap sayısı, aç/kapat, sil
  • Toplu işlem: Kapat · Aç · Sabitle · Sil

📝 Postlar Sekmesi
  • Yazar adı, içerik veya konu başlığı ile arama
  • Onay durumuna göre filtre (onaylı / beklemede)
  • Tarih aralığı filtresi
  • Her satırda: konuya gitmek için link, sil
  • Toplu işlem: Onayla · Sil

📎 Ek Dosyalar Sekmesi
  • Yükleyen adı veya dosya adı ile arama
  • Dosya tipine göre filtre (görsel / video / PDF / ZIP / metin)
  • Tarih aralığı filtresi
  • Dosya boyutu ve indirme sayısı görünür
  • Her satırda: indir, sil (fiziksel dosyayı da siler)
  • Toplu işlem: Sil

━━━━━━━━━━ TEKNİK ÖZELLİKLER ━━━━━━━━━━
  • Server-side sayfalama: Binlerce kayıt olsa bile sayfa yavaşlamaz. Sadece o an görüntülenen satırlar veritabanından çekilir.
  • AJAX tabanlı: Filtre uygulamak, sayfa değiştirmek veya sıralama yapmak sayfayı yeniden yüklemez.
  • Toplu işlem (Bulk Action): Satır seçimi yapılınca üstte işlem barı belirir. "Tümünü Seç" checkbox'ı ile sayfadaki tüm kayıtlar seçilebilir.
  • Toast bildirimleri: Her işlem sonrası sağ altta başarı/hata bildirimi çıkar.
  • CSRF koruması: Tüm POST ve AJAX işlemleri CSRF token ile korunur.
  • Fiziksel dosya silme: Ek dosya silinince sunucudaki fiziksel dosya da silinir.

━━━━━━━━━━ DOSYA YAPISI ━━━━━━━━━━

Kod:
sitem.com/
├── config/
│   └── db.php                    ← PDO bağlantısı
└── admin/
    └── search_panel.php          ← Ana panel (tek dosya)
━━━━━━━━━━ VERİTABANI TABLOLARI ━━━━━━━━━━

Panelin çalışması için şu 4 tablo gerekiyor (SQL dosyası ekte):

Kod:
users       → id, username, email, role, is_banned, points, created_at
threads     → id, user_id, title, category, is_closed, is_pinned, view_count, created_at
posts       → id, thread_id, user_id, content, is_approved, created_at
attachments → id, user_id, thread_id, post_id, file_name, file_path,
              file_type, file_size, download_count, created_at
Zaten mevcut tablolarınız varsa SQL'deki CREATE TABLE satırlarını atlayın, sadece eksik indexleri ekleyin. Panel tablonuzun yapısına göre uyarlanabilir.

━━━━━━━━━━ KURULUM ━━━━━━━━━━

1. Dosyaları yükle
search_panel.phpadmin/ klasörü
db.phpconfig/ klasörü

2. db.php'yi doldur
config/db.php içindeki DB_HOST / DB_NAME / DB_USER / DB_PASS bilgilerini kendi sunucuna göre düzenle.

3. SQL'i çalıştır
search_panel_kurulum.sql dosyasını phpMyAdmin'e import et. Tablolar yoksa oluşturur, varsa IF NOT EXISTS sayesinde dokunmaz.

4. Paneli aç
admin/search_panel.php adresine git. URL'de ?tab=members, ?tab=threads, ?tab=posts, ?tab=attachments şeklinde geçiş yapılabilir.

━━━━━━━━━━ BAĞIMLILIKLAR (CDN) ━━━━━━━━━━

Tüm bağımlılıklar CDN üzerinden yükleniyor, sunucuya bir şey kurmanıza gerek yok:
  • DataTables 1.13.8 (server-side tablo)
  • Bootstrap 5.3 (layout ve sayfalama teması)
  • jQuery 3.7 (DataTables bağımlılığı)
  • Font Awesome 6.5 (ikonlar)

Offline sunucuda kullanacaksanız bu dosyaları indirip yerel yollarla bağlayın.

━━━━━━━━━━ ÖNEMLİ NOTLAR ━━━━━━━━━━
  • Uyarlama gerektiren kısımlar: Profil linki /profil.php?id=, konu linki /konu/ ve dosya yolu /uploads/ kendi URL yapınıza göre değiştirilmeli.
  • Auth kontrolü: Dosyanın başındaki $_SESSION['admin_logged_in'] kontrolünü kendi oturum sisteminizle değiştirin.
  • Toplu silme geri alınamaz: Özellikle ek dosya silme işlemi fiziksel dosyayı da siliyor. Gerekliyse silmeden önce yedek alın.
  • PHP arrow function: AJAX veri hazırlama kısmında fn() => kullanılmıştır. PHP 7.4 altında function($x) { return ...; } şeklinde dönüştürün.

━━━━━━━━━━ GEREKSİNİMLER ━━━━━━━━━━
  • PHP 7.4 veya üzeri
  • PDO + PDO_MySQL extension
  • MySQL 5.7 / MariaDB 10.3 veya üzeri
  • İnternet bağlantısı (CDN için) — offline için yerel dosya

━━━━━━━━━━ EKLER ━━━━━━━━━━
  1. search_panel.php — Tek dosya, 4 sekme: üye, konu, post, ek dosya yönetimi.
  2. db.php — PDO bağlantı dosyası. Bilgilerinizi girin, hazır.
  3. search_panel_kurulum.sql — 4 tablonun CREATE scripti + isteğe bağlı test verisi (yorum satırında).


Test ortamı: PHP 8.2 / MariaDB 10.6 / DataTables 1.13.8 / Bootstrap 5.3. Tablolarınızın sütun isimleri farklıysa AJAX handler içindeki SELECT sorgularını buna göre uyarlayın.

Eklenmiş Dosya
Dosya tipi: zip search_panel_forumel.zip (12.2 KB, 1x kez indirilmiştir)

Fallen code. Broken systems. No mercy.
 
Eski 22 Nisan 2026, 00:23   #2
Çevrimiçi
Evillusions
Evillusions - ait Kullanıcı Resmi (Avatar)
Üyelerin profil bilgilerini yalnızca kayıtlı üyeler görüntüleyebilir. Lütfen kaydol bağlantısından üye olunuz.
Varsayılan Yanıt: PHP + DataTables ile Gelişmiş Admin Arama & Filtreleme Paneli — Üye, Konu, Post ve Ek Dosya

Gine Başarılı Bir O Kadarda Emek Var Ellerine Sağlık


İmzalardaki bağlantıları veya görselleri görüntülemek için gönderi sayınızın 10 veya daha fazla olması gerekir. Şu anda 0 mesajınız var.



İmzalardaki bağlantıları veya görselleri görüntülemek için gönderi sayınızın 10 veya daha fazla olması gerekir. Şu anda 0 mesajınız var.
 

Yer İmleri


Konuyu 1 kişi okuyor: (0 üye ve 1 misafir)
 

Gönderim Kuralları
Yeni konu açamazsınız
Cevap yazamazsınız
Ek dosya gönderemezsiniz
Mesajlarınızı düzenleyemezsiniz

BB code is Açık
İfadeler Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



Tüm saatler GMT +3 biçimindedir. Şu anki saat 13:07.

Forum Bilgilendirme Künye
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.

Forumel, lisanslı vBulletin kullanmaktadır!
Forum Sahibi: Dea Dia ve Gece

Sitemiz; yer sağlayıcı bir forum sitesidir. Forumel.Com adresimizde yapılan paylaşımlar, moderasyon ekibimizin onayına dahil olmadan direkt olarak yayınlanmaktadır. 5237 sayılı TCK (Türk Ceza Kanunu) ve 5651 Sayılı Kanun'un ilgili maddelerini ihlal eden kişilerin IP adresleri de dahil olmak üzere sair kişi veya adli mercilere müzekkere (Resmi Üst Yazı), tarafımıza tanzim edildiği takdirde paylaşılacaktır. Hukuka aykırı bir paylaşımın olduğunu düşündüğünüz mesaj ya da konuyu; İLETİŞİM linkine bildirim yoluyla iletebilirsiniz. 48 saat içerisinde mevcut şikâyetiniz üzerinden tarafınıza ulaşılacak, gerekli işlemler tesis edilecektir.

Eğlenceli Genel Forum Sitesi, Genel Forum Sitesi, Genel Forum Siteleri, Genel Forum