kullanıcı iyi uygulama silmek?

8 Cevap php

ive bir forum var ve ben kullanıcı hesabını silmek için izin.

ve ben kullanıcıların konuları hala orada ve gösterilmesini adı olmak istiyorum, ama bir şeyi merak ediyorum.

Bir kullanıcı silinirse (temelde ben sadece tablo satırında kendi kullanıcı adı ve şifre NULL ama sağlam her şeyi bırakın) ve başka bir kullanıcı aynı kullanıcı adı kaydediyor, sonra insanlar aynı kullanıcı adı ile yeni kullanıcı yarattı inanıyorum tüm oluşturulan önceki kullanıcıyı takar.

ya da yeni kullanıcılar silinmiş olanlar adlarını almak için izin için rutin?

kullanıcıların silme ilişkin en iyi uygulama nedir?

8 Cevap

'Silindi' veya benzer denilen kullanıcıların tabloya fazladan sütun ekleyin. Sıfır bu varsayılan (false). Kullanıcı "silinmiş" olduğunda, 1 (true) için bu alanı ayarlayın. Orijinal hala mevcut ve vb mevcut mesajların bağlı olacak gibi Bu şekilde, yinelenen adları olan kullanıcılar ile herhangi sorunlar karşısında yayınlanmaz

Ben bir boolean olarak tabloda bir deleted alanını tutmak olacaktır. Kullanıcı ayrıldığında true olarak ayarlayın. Benzersiz adlarını tutun.

Bir DeletedDate sütun ekleyin. Bu sütun null ise, o kullanıcı hesabı silinmez.

Bu şekilde herhangi bir veri silme değil, ve dilerseniz sağlam, vb Kullanıcı, daha sonra hesabını geri alabilirsiniz.

You should not actually delete users, just set a "deleted" flag on their records in database. If such flag is set, do not allow the user to log in. Also, show the user page with "user is deleted" on it. If you actually delete a record, you will have to decide, what to do with

  • kullanıcı yazma olmuştur forumu ileti
  • kullanıcı tarafından yapılan cevaplar
  • Birisi silinen kullanıcı tarafından söylenen bir şey söz cevaplar
  • Bu kullanıcının / 'gönderilen özel mesajlar

Yani, bu aslında insanlar vardı konuşmaları değiştirmek istiyorsunuz.

O eski adını kullanmak için başkalarını sağlamak için önemli ise, örneğin içine kullanıcının adını değiştirmek olabilir. Kullanıcı X silindi - bu yol hala (bazı durumlarda önemli olabilir) kullanıcının mesaj arasında bir bağlantı olacaktır.

Eğer mesajları ve kullanıcı adlarını tutarsanız tekrar aynı kullanıcı adı ile kayıt insanlar istemiyorum. Bu kavram kargaşasına neden olacaktır. Genellikle aynı kullanıcı adı kullanıcı tablonun benzersiz bir anahtar olun.

Ben hiçbir ilişkili mesaj veya başka bir etkinlik varsa, kullanıcıların tamamen kendi hesaplarını silmek icar tavsiye ederim. Ilişkili mesajlar varsa hesabı devre dışı bırakılır ve "Silinmiş kullanıcı" tarafından yapılmış gibi mesajlar işaretlenmiş.

Sonra bir hesabı silmek için, idari eylem ve tamamen ilişkili mesajlar olun. Bu, normal bakım araçları eklenebilir.

Hatta "uid" başlıklı kullanıcılar tablosundaki ekstra bir sütun eklemek ve kayıt yaptıran her yeni kullanıcı için yeni bir uid oluşturabilir.

Mesaj, bir kimliği ile kullanıcıya bağlı edilmelidir username tarafından size, o zaman bu sorunu olmaz olmamalıdır bir kimliği, yeniden sürece yani.