Kategoriye Özel Konu Formları
Neden Kategoriye Özel Form?
Forumlarda her kategori aynı formu kullandığında, kullanıcılar hata bildirimi, iş ilanı veya ticaret gibi farklı amaçlar için gereken bilgileri atlayabiliyor. Kategoriye özel formlar sayesinde her konu türü için gerekli alanlar zorunlu kılınır, doğrulama kuralları uygulanır ve kullanıcı deneyimi iyileştirilir.
Alan Tasarımı
Her kategori için aşağıdaki gibi farklı alanlar tanımlanabilir:
| Kategori | Zorunlu Alanlar | İsteğe Bağlı Alanlar |
|---|---|---|
| Hata Bildirimi | Başlık, Hata Mesajı, Adımlar | Ekran Görüntüsü, Ortam Bilgisi |
| İş İlanı | Başlık, Şirket, Lokasyon, Açıklama | Maaş, Başvuru Linki |
| Ticaret | Başlık, Fiyat, Durum (Satılık/Alınık) | Görsel, İletişim |
| Destek | Başlık, Sorun Açıklaması | Sürüm, Eklenti Listesi |
Her alan için sunucu taraflı doğrulama kuralları belirlenmelidir. Örneğin:
// Hata bildirimi için örnek doğrulama
if (empty($hatamesaji) || strlen($hatamesaji) < 10) {
$hata[] = 'Hata mesajı en az 10 karakter olmalıdır.';
}
if (!preg_match('/^[a-zA-Z0-9 ]+$/', $baslik)) {
$hata[] = 'Başlık yalnızca harf, rakam ve boşluk içerebilir.';
}
Zorunluluk, veritabanı şemasında NOT NULL olarak veya uygulama katmanında kontrol edilir. Örneğin iş ilanında şirket alanı boş bırakılamaz.
Filtreleme ve Kullanıcı Deneyimi
Form alanları, kategori seçildiğinde dinamik olarak gösterilmelidir. Örneğin kullanıcı "Hata Bildirimi" kategorisini seçtiğinde ekran görüntüsü yükleme alanı görünür. Ayrıca her alan için yardım metinleri (placeholder) eklenebilir.
İpucu: Gelişmiş kullanıcılar için işaretleme dili (BBCode) desteği sunulabilir, ancak yeni başlayanlar için basit metin kutuları tercih edilmelidir.Uygulama Adımları
1. Her kategori için bir JSON şeması tanımlayın.
2. Form oluşturma sayfasında kategori seçimine göre ilgili alanları gösterin.
3. Sunucuda, seçilen kategoriye ait şemayı yükleyerek doğrulama yapın.
4. Hataları kullanıcıya anlık olarak gösterin (AJAX ile).
5. Başarılı gönderimde konuyu ilgili kategoriye kaydedin.
Sürprizbozan (görmek için tıklayın)
Dikkat Edilmesi Gerekenler
- XSS ve CSRF koruması unutulmamalıdır.
- Dosya yüklemelerinde boyut ve tür kısıtlaması yapılmalıdır.
- Kullanıcı dostu hata mesajları yazılmalıdır.
- XSS ve CSRF koruması unutulmamalıdır.
- Dosya yüklemelerinde boyut ve tür kısıtlaması yapılmalıdır.
- Kullanıcı dostu hata mesajları yazılmalıdır.
Kategoriye özel formlar, forumun düzenini artırır, kullanıcıların doğru bilgiyi paylaşmasını kolaylaştırır ve moderasyon yükünü azaltır. PHP ile kolayca uygulanabilir ve esnek yapısı sayesinde yeni kategoriler eklenirken genişletilebilir.