Codeigniter ile güncelleme işlemi
Bir Formum var üyelik bilgilerinin tutulduğu üye kullanıcı adı,email ve şifre alanlarını değiştirebiliyor. Bu alanlar aynı zamanda uniq 'tir.
1- Kullanıcı yukarıdaki üç alanıda değiştirebilir lakin bu değişen alanlar uniq olmak zorundadır şifre hariç. Sonuçta adam sistemde var olan bir kullanıcının email adresini yazması güvenlik açısından pekte mantıklı olmaz.
2 - Kullanıcı sadece şifresini değiştirse dahi zaten veritabanında bu kullanıcı adı zaten var hatası alıyorum.
bu sorunda nasıl mantık kurmalıyım ?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
işte sen güncelleme işleminden önce öyle bir eposta ya da kullanıcı adının olup olmadığını kontrol edeceksin. Kontrol ederkende user_id'si şu an ki güncellenen üyenin id'sine eşit olmayna diye bakacaksın, o zaman bu hatayı almayıp güncelleme işlemini başarıyla yapacaksın.
@tayfunerbilen anlayamadım hocam, siz burda update yapan kullanıcı kullanıcı idsine eşit değilse demek istiyorsunuz sanırım ?
ahmet [email protected] şifreside 1234 olsun ahmet şifresini değiştirmek işlemi yaptığında sadece şifresini güncellemek istediğinde ahmet ve [email protected] uniq şifreyi güncelleye bastıgımda bu kullanıcı adı ve email sistemde zaten var hatası alıyorum doğal olarak. Burada yapmak istediğim kullanıcı bu alanları güncelleyebilmeli tek tek veya çoklu tek kural şu güncelle yaparken sistemde var olan email ve kullanıcı adı varsa alamayacak. Umarım anlatabilmişdir.
aslında en basit update işleminde şunu söylemen lazım
where user_id != '1'
burada ki 1 update yapan kullanıcının id'si, bunu yaparsan sorunun çözülür :)