php, html ve sql sorunu
merhabalar, form alanlarında inputların name' leri ile oynanınca sorunlar meydana geliyor.
ayrıca type ı hidden olan inputlardan da değer alıyorum.
ama öğeyi denetleden değiştirince veriyi orada da sorunlar çıkıyor. bunlara nasıl çözüm üretebiliriz.
biraz aciliyeti var şimdiden teşekkür ederim.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
Form Alanlarında inputlara jquery aracılığıyla engelli özniteliği uygulursan sorun olmaz
jquery ile örnek
Devre dışı bırakmak için
$('#id').prop('disabled', true);
GET veya POST verilerinin göndermeden hemen önce yeniden etkinleştirmek için
$('#form').on('submit', function() {
$('#id').prop('disabled', false);
});
Ayrıca her girişi yeniden etkinleştirebilir veya şunları seçerekte uygulayabilirsin
$('#form').on('submit', function() {
$('input, input').prop('disabled', false);
});
Her ne olursa olsun, kullanıcıdan aldığın her türlü inputu kontrol etmen gerekir. Formdan, urlden ya da http üzerinden fark etmez. Eğer bir veri kullanıcıdan geliyorsa; sıkı sıkıya kontrol etmekten başka çare yok.
Verilerin yanlış olması durumunda hata fırlatmak ya da betiği durdurmak konusunda çekinmeyin. Daha büyük bir sorun yaşamanızı önlemiş olursunuz.
Anladığım kadarıyla ögeyi denetle kısmından name vb. değerleri değiştirdiğiniz sql veya php hataları alıyorsunuz.
Ben bunu kendimce şu mantıkla çözdüm;
Bir Model sınıfım var. İlgili Controller'da veritabanı işlevi yaptığımda Model çalıştırıyorum. Bu model çalıştığında o modele atadığım tablonun field değerlerini alıyorum.
Post ile gelen name değerleri ile bu fieldları karşılaştırıyorum ve eşleşme bozulduğunda hata kodu ardından işlemi iptal ederek bir bilgi mesajı döndürüyorum geriye.