@DarkCodder üstadım şimdi desteğinizi rica edebilirim...
Yazdığınız kodun mantığı çok güzel fakat finalde bir takılma söz konusu...
Select ile seçilen yada input içine yazılan değeri veri tabanı bağlantısı olmadan sadece ekrana yazdırırken hiçbir sorun yok.
Fakat işin içine veri tabanını dahil edince iş biraz karmaşıklaşıyor...
Veri tabanı bağlantısı olduğunda select içindeki hazır option'lardan biri seçildiğinde de sorun yok doğal olarak.
<option value="Diğer">Diğer</option> seçilince olanlar ise şunlar;
1.Sorun => İnput'un name değerinin farklı olması!
input'un name değeri farklı olduğunda yani ===> name="ozel" olduğunda
veri tablosunda bu isimde bir sütun olmadığı için
=> input'un içine yazılan değeri dikkate almıyor
=> veri tablosundaki category sütununa seçmiş olduğumuz option'un değeri olan "Diğer" ifadesini yazdırıyor.
=> özetle: input'u tamamen yok sayıp tamamen select'i baz alıyor.
Siz kodunuzu paylaşmadan önce öngördüğüm ve paylaştığım algoritma taslağında & senaryoda;
Hem select'in hem de input'un name değeri ===> name="category" olmalı doğrultusundaydı...
(Atladığım, yanıldığım, bilmediğim durumlar olabilir...)
2.Sorun => Mükerrer name değeri olması!
Üstteki sorunu ortadan kaldırmak için input'un name değerini ===> name="category" yaptığımda ise şunlar oluyor;
=> input'un içine bir değer yazılırsa o değeri category sütununa kayıt ediyor.
=> input'un içine bir değer yazılmaz ise boş değer kayıt ediyor, yani select içindeki required hükümsüz hale geliyor.
Halbuki mutlaka bir seçim yapılması gerekiyor...
İnput isteğe bağlı bir öğe olduğu için ona da required kuralı eklemek işin mantığına ters olur...
Tam çözüme ulaşmaya çok yakın olduğumuzu sanıyorum...
(Üzerinde çalıştıkça güncelliyorum...)