Ich schreibe den Code für meine eigene Website als Lern-/Spaßübung. Im Moment ist ein Teil der Website ein Blog (wie jede andere Website da draußen :-/), der die üblichen grundlegenden Blog-Funktionen unterstützt, einschließlich des Kommentierens von Beiträgen. Ich möchte den Code so ändern, dass anonyme Kommentare möglich sind, d. h., ich möchte es Leuten ermöglichen, Kommentare zu schreiben, ohne vorher ein Benutzerkonto auf meiner Website anzulegen, obwohl es immer noch eine Art Authentifizierung geben wird, um Spam zu verhindern.
Frage: Welche Informationen sollte ich für anonyme Kommentare speichern? Ich denke an mindestens den Anzeigenamen und die E-Mail-Adresse (für die Anzeige eines Gravatars) und wahrscheinlich die Website-URL, weil ich eventuell auch OpenID akzeptieren möchte, aber wäre etwas anderes sinnvoll?
Andere Frage: Wie sollte ich die Datenbank ändern, um diese Informationen zu speichern? Das Schema, das ich für die Kommentartabelle habe, lautet derzeit
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
Soll ich zusätzliche Felder für Name, E-Mail-Adresse usw. in die Kommentartabelle aufnehmen? (scheint eine schlechte Idee zu sein) eine neue Tabelle "anonyme Benutzer" erstellen? (und wenn ja, wie verhindere ich, dass anonyme Benutzerkennungen mit regulären Benutzerkennungen kollidieren) Oder soll ich in meiner bestehenden Benutzertabelle gefälschte Benutzerkonten für anonyme Benutzer erstellen?
Ein Teil der Schwierigkeit besteht darin, dass ich, wenn jemand versucht, einen anonymen Kommentar mit einer E-Mail-Adresse (oder OpenID) zu schreiben, die bereits mit einem Konto auf meiner Website verknüpft ist, dies erkennen und die Person auffordern möchte, sich anzumelden.