2012-10-10 35 views
0

傢伙我做了一個基於jQuery和css的星級評分系統。現在我不能真正想到如何將用戶投票保存到數據庫。最重要的是如何限制一個用戶只能投一票。

因爲遊客在網站的數量是巨大的,我不能讓每一用戶的ip保存到數據庫中。而且我不認爲它工作得很好,因爲即使我的IP地址本身是動態的。每次我斷開連接並重新連接互聯網時,我的IP變化,我可以再次投票。所以我不認爲這會奏效。

這是我曾經想過,保存票到數據庫: 病只保存投票頁面已收到的數量和虐待保存頁面的總評價。

並以評分數來劃分評分。所以它會給我平均評分。對?

但我想不出一個用戶只能投一票的方法。請幫忙。如何讓一個評級系統只有一個投票

+1

您可以在投票時使用cookie並設置cookie(有權限)嗎? –

+0

如果僅存儲一個IP地址已經很昂貴,您將無法找到任何可靠的解決方案。 – jeroen

+0

這種方法對你來說可能聽起來很愚蠢,只允許你的網站會員評分。 – Furry

回答

5

似乎是嚴格執行每人一票的網頁上還沒有可行的方法。

在計算機網絡上,我們經常使用替代品的人。其中有些是

  • 網絡或應用程序登錄,
  • 電子郵件地址,
  • IP地址,
  • 餅乾,

等。但是當涉及到每人一票時,所有這些都有問題。

  • 對於網絡登錄,一個人通常可以使多個帳戶。 (特別是如果他們是免費的。)
  • 電子郵件帳戶是免費的,許多(大多數?)人現在有多個電子郵件帳戶。
  • IP地址可能會奏效,但僅限於內部網與非共享電腦(每臺電腦一個人的公司政策)(每個計算機一個IP地址實現)。
  • Cookie與網絡登錄有同樣的問題。 (並且可以被用戶刪除)

如果投票真的很有價值,有人會投很多麻煩投兩次。但大多數選票都不是很有價值。

0

研究用索引構建數據庫。我創建了一個用戶喜歡的系統,每個用戶/最喜歡的組合只允許插入一行。例如:用戶選擇收藏夾,存儲在數據庫中的值爲用戶ID和收藏夾ID。如果用戶試圖再次選擇它,數據庫將不會插入該行,因爲它是完全重複的。

+0

哦,我有,這正是我所擁有的。這是一個最喜歡的系統。但我需要一個評級系統。 – MaSK