guys i have made a jquery and css based star rating system. now i cant really think of way as how to save the user vote to database. and most importantly how to limit one user only to one vote.
since the number of visitors in the site is huge, i cant afford saving each user's ip to the database. and moreover i don't think it works good because even my ip address itself is dynamic. every time i disconnect and reconnect my internet my ip changes and i am able to vote again. so i don't think this will work.
this is what i have thought about saving the votes to the database:
ill just save the number of votes a page has received and ill save the total rating of the page.
and ill divide the rating points with number of votes. so it will give me the average rating. right?
but i can think of no way to limit one user to one vote. please help.
相关问题
- Views base64 encoded blob in HTML with PHP
- Laravel Option Select - Default Issue
- PHP Recursively File Folder Scan Sorted by Modific
- Can php detect if javascript is on or not?
- Using similar_text and strpos together
There seems to be no practical way to strictly enforce one vote per person on the web.
On computer networks, we often use surrogates for people. Some of them are
and so on. But all of these have problems when it comes to one vote per person.
If a vote is really valuable, some people will go to a lot of trouble to vote twice. But most votes aren't very valuable.
Look into structuring your database with indexes. I created a user favorite system that only allows one row to be inserted per user/favorite combination. For example: a user chooses a favorite, the values stored in the database are User ID and Favorite ID. If the user tries to select it again, the database won't insert the row as it is an exact duplicate.