私のアプリケーションでは、スタックオーバーフローが投稿された質問と回答に対して持っているように、他のユーザーが上下に投票して応答できる記事を投稿できます。
2 回投票できないようにユーザーを制限するにはどうすればよいですか?
私のアプリケーションでは、スタックオーバーフローが投稿された質問と回答に対して持っているように、他のユーザーが上下に投票して応答できる記事を投稿できます。
2 回投票できないようにユーザーを制限するにはどうすればよいですか?
ユーザーIDを投票テーブルに保存するだけです。
したがって、特定のユーザーがすでに投票したかどうかをいつでも確認できます。
article-id、user-id、vote time、votevalueの列で十分です
2つの方法:
<{userID}, {vote UP/DOWN}, {articleID}>
StackOverflowは、データベースを使用してこのすべてのデータを保存します。彼らはまた、あなたがあなたの行動を元に戻すことができないように、一定期間後にあなたの投票をロックします。
そのための最善の方法は、すべての投票とユーザーIDをデータベースに保存することだと思います。データベースが大きくなった場合は、1週間/月などの後にデータベースから古いレコードを削除し、1週間より古いアイテムへの投票を制限できます。 / month / etcであるため、同じアイテムに2回投票することはできません。
IPまたはその他の一意のデータでユーザーを記憶するには、何らかのサーバー側スクリプトを使用する必要があります。IPまたはその他のデータを保存して覚えておく必要があります。ユーザーが再度賛成/反対投票を試みる場合は、それをチェックして、許可する必要があるかどうかを確認する必要があります。ただし、投票を変更したい場合に備えて、反対のことをさせる必要があります。これは、PHPとMySQL(および他の多くのもの)で実行できます。