Benim homefried hesap kayıt sistemi bu suretle devam eder:
- tam kayıt formu
- kullanıcı adı zaten var olmadığını kontrol - reddetme / pass
- geçici kullanıcı tabloya veri kopyalamak, onay e-posta göndermek
- Onay e bağlantıyı kullanarak üzerine, aktif kullanıcı tabloya temp veri kopyalama
Geçen gün bir kullanıcı o hata mesajı alıyorum söylemek bana e-postayla "kullanıcı oluşturulamadı."
Ben işitme hiç hatırlamıyorum, bu yüzden benim kaydı koduna kazdık ve sorgu başarısız etkin kullanıcı tabloya geçici veri eklemek için eğer hata dışarı çıkar.
... Tabloda benzersiz bir dizin var, onun adı, zaten aktif kullanıcı tabloda var çünkü başarısız oldu ... ama ilk mevcut kullanıcı adı kontrol geçmişti?
O kayıt çalışmıştı adını çıktı "Kullanıcı" oldu ama "kullanıcı" zaten vardı - bu nedenle vaka-duyarsızlık oyuna geliyor.
Kullanıcı adınızı var mı? Sorgu dizesi:
SELECT username FROM user_basic_data WHERE username='$cleanTempUsername'
Onaylandı, şimdi aktif tablo dize takın:
INSERT INTO user_basic_data (username, ...) VALUES ('$activeUsername', ...)
Yani harf duyarlılığı görünüşte bir select deyimi çalıştırdığınızda ("Kullanıcı"! = "Kullanıcı") geçerlidir ama ben bir ekleme çalıştırdığınızda geçerli değildir.
Kapitalizasyonu birçok kullanıcı için önemli olduğunu, bu nedenle en az direnç benim düzeltme buradan ne?