2009-08-07 4 views
4

Je dirige un forum que je me suis construit. Ok donc tous les utilisateurs ont la possibilité de se supprimer.Comment gérer les entrées lorsque l'utilisateur est supprimé?

Mais tous leurs fils et messages resteront. Mais maintenant, où il devrait dire leur nom d'utilisateur, il est juste vide.

Comment dois-je gérer cela? Dois-je créer un nouvel utilisateur et l'appeler par ex. "utilisateur supprimé" et affecter tous les sujets/messages à cet ID lorsqu'ils se suppriment eux-mêmes? Ou devrais-je simplement vérifier si l'ID utilisateur existe sinon imprimer par ex. "utilisateur supprimé" en tant que nom d'utilisateur?

Quelle est la manière la plus intelligente? D'autres façons me le disent.

Merci!

p.s (je ne suis pas un anglophone, regardé quelques mots de fantaisie sur un dictionnaire en ligne)

Répondre

7

Je suggère de ne pas supprimer réellement l'utilisateur. Vous pouvez simplement ajouter une colonne à la table des utilisateurs tels que:

ALTER TABLE users ADD COLUMN (is_active TINYINT(1) NOT NULL DEFAULT 1); 

Ensuite, lorsque vous « supprimer » un utilisateur, il suffit de marquer les comme inactifs:

UPDATE users SET is_active = 0 WHERE users.id = 7; 

Pour les listes d'utilisateurs et l'accès aux comptes que vous vérifierait le statut is_active. Pour afficher des données telles que des publications et autres, vous ne vous souciez pas de leur statut actif, vous pouvez simplement récupérer le nom de la table.

+0

bonne idée! merci –

+0

Mon idée exactement. Assurez-vous de ne laisser aucune porte dérobée ouverte pour cet utilisateur (ou toute donnée privée pour cet utilisateur) sur la base de données. Toutes les demandes de connexion en tant qu'utilisateur ou de faire des modifications en tant que l'utilisateur ou toute autre chose de ce genre doivent vérifier par rapport à ce drapeau "est actif". Tous les utilisateurs peuvent se supprimer eux-mêmes parce qu'ils essaient de devenir anonymes (problème avec un ex, peut-être), donc toutes les autres tables qui incluent des choses comme leurs e-mails, photos ou autres doivent être purgées. Il est préférable d'afficher ce champ vide ou NULL, puis de violer leur vie privée. – Anthony

Questions connexes