v2.5.2
Giriş yap

Codeigniter ile güncelleme işlemi

ysarsilmaz
879 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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 ?

Cevap yaz
Cevaplar (3)
tayfunerbilen
1557 gün önce

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.

ysarsilmaz
1558 gün önce

@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.

tayfunerbilen
1559 gün önce

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 :)