2009-03-12 15 views
2

J'écris le code de mon propre site Web comme un exercice éducatif/amusant. À l'heure actuelle, une partie du site Web est un blog (comme tous les autres sites: - /) qui prend en charge les fonctions de base habituelles du blog, y compris les commentaires sur les publications. Mais seuls les commentaires sont activés pour les utilisateurs connectés. Je souhaite modifier le code pour autoriser les commentaires anonymes, c'est-à-dire que je souhaite autoriser les utilisateurs à publier des commentaires sans créer au préalable de compte utilisateur sur mon site.Modifier mon site Web pour autoriser les commentaires anonymes

Question: quelles informations dois-je sauvegarder pour les commentaires anonymes? Je pense au moins au nom d'affichage et à l'adresse e-mail (pour l'affichage d'un Gravatar), et probablement à l'URL du site car je veux éventuellement accepter OpenID, mais est-ce que quelque chose d'autre aurait du sens?

Autre question: comment modifier la base de données pour stocker cette information? Le schéma que j'ai pour la table de commentaire est actuellement

comment_id  smallint(5)  // The unique comment ID 
post_id   smallint(5)  // The ID of the post the comment was made on 
user_id   smallint(5)  // The ID of the user account who made the comment 
comment_subject varchar(128) 
comment_date  timestamp 
comment_text  text 

Dois-je ajouter des champs supplémentaires pour le nom, l'adresse e-mail, etc. à la table de commentaire? (semble être une mauvaise idée) Créer une nouvelle table "utilisateurs anonymes"? (et si oui, comment empêcher les identifiants d'utilisateurs anonymes d'entrer en conflit avec les identifiants d'utilisateur normaux) Ou créer de faux comptes d'utilisateurs pour des utilisateurs anonymes dans ma table d'utilisateurs existante?

Une partie de ce qui complique la tâche est que si quelqu'un essaye de poster un commentaire anonyme en utilisant une adresse email (ou OpenID) déjà associée à un compte sur mon site, j'aimerais l'attraper et l'inviter à se connecter dans

Répondre

4

Tout le point de commentaires anonymes est que les utilisateurs ne doivent pas se connecter, non?

Mon goût personnel est de ne pas forcer l'utilisateur à entrer quoi que ce soit, même pas son nom! Le seul champ requis est le texte du commentaire lui-même. S'ils ne veulent pas donner leur nom ou leur courriel, d'accord, qui s'en soucie?

S'ils fournissent un e-mail déjà existant, il est possible qu'ils se soient enregistrés il y a très longtemps et qu'ils ne se souviennent même pas de leur mot de passe.

Encore une fois, ne forcez pas l'utilisateur à se connecter dans ce cas. Donnez-leur simplement le choix de se connecter ou de laisser un champ vide (ou de changer son contenu). Ou, affichez simplement une boîte d'avertissement en leur disant que le commentaire sera envoyé sans l'adresse e-mail, avec les options "ok" et "cancel".

Alors, que stocker avec le commentaire anonyme? Je dirais stocker leur nom et leur courriel (bien sûr, ne pas afficher leur courriel au public), mais en faire des champs facultatifs, non obligatoires.

Vous pouvez également stocker leur site Web, même si personnellement je ne sais pas quel est le point de cela, sauf peut-être auto-publicité pour l'affiche anonyme!

+0

Eh bien, j'ai besoin de l'adresse e-mail pour envoyer un message de vérification, donc je pense que je pourrais aussi bien le stocker - bien sûr, il ne sera pas affiché directement ;-) Mais j'aime l'idée de juste pouvoir laisser un commentaire sans aucune autre information. –

+0

L'e-mail de confirmation est également une source d'ennuis pour les utilisateurs, parfois c'est nécessaire (confirmation d'inscription/inscription, par exemple), mais laisser un commentaire n'a certainement pas besoin d'une vérification par email. – hasen

1

Aucune question, vous entrez le "nom d'utilisateur" sur la table des commentaires. Et vous copiez la valeur de votre table utilisateur dans ce champ pour les utilisateurs connectés. De cette façon, si un utilisateur est supprimé, ses commentaires portent toujours un nom. Les commentaires sont généralement hiérarchiques, ce qui rend difficile leur suppression au milieu d'un arbre de commentaires. S'ils laissent vide, vous entrez votre texte "utilisateur anonyme" dans le tableau.

Questions connexes