0

ユーザーが「ストーリー」を投稿して、他のメンバーが賛成できるサイトを作っています。私が持っている質問は、人々が複数回投票することを制限する方法に関するものです。賛成するためにサインアップする必要はありません。

これらは私のアイデアです。誰かが私にどちらが最善か、またはあなた自身のアイデアがより良いかについてフィードバックをくれることができれば、それは大いにありがたいです。

  1. このようにテーブルを設定してください...
    • id-ストーリーID
    • name- 著者
    • story- 物語
    • upvotes-賛成票の数
    • upvoter_ids-賛成票を投じたすべての一意のIDのリストをスペースで区切って表示します。一意のIDは、最初のアクセス時にCookieに保存されます。再訪したら、すべてのIDを引き出し、スペースでそれらを爆発させ、一致するものがあるかどうかを確認します。
  2. 投票専用の新しいテーブルを作成し、投票ごとに1行を追加します。
    • voter_id-Cookieに保存されている一意のID
    • story_id-賛成されたストーリーのID
4

1 に答える 1

1

Cookie ベースの ID システムはかなり優れたシステムです。ユーザーを認証しない場合、決心した人々が何度も何度も投票するのを完全に防ぐことはできません。しかし、人々に投票を要求しないのであれば、この種のことが時々起こる可能性があることを受け入れていると思います.

私が行う唯一の変更は、ストーリーと賛成票 ID を含む 1 対多の関係テーブルを持つことです。次に、このテーブルにクエリを実行し、ストーリー ID でフィルター処理して、賛成票を投じたすべての人の ID を取得できます。これは、スペースで区切られた文字列を展開するよりもクリーンです。

于 2013-01-30T19:39:45.783 に答える