2012-06-05 52 views
0

可能重複:
Reddit-Style Voting Button禁用鏈接的onclick

所以我一直在這個網站上,一個我想創造一個計算器/ reddit的風格投票系統到我的網站。我想在用戶點擊時禁用鏈接,這樣他們將無法投票兩次。這裏是我的代碼:

<a href="#" title="upvote" class="arrows" onclick ="submitVote(<?php echo 
$lulz['link_id']; ?>, 1); 
return false;">&uarr;</a> 

我需要保持當前的點擊功能,以便我可以在投票中添加。我可以添加另一個禁用它(使用cookie)。

+1

已經有一個這個問題的工作副本。請參閱[這篇文章](http://stackoverflow.com/questions/4975042/reddit-style-voting-button) – Azi

回答

1

如果您使用cookies,人們可以作弊。任何人都可以刪除cookie,這樣他們就可以多次投票,因爲他們願意刪除他們的cookie。除了設置cookie之外,最好將信息存儲在服務器上。但是,如果安全性不是那麼重要,並且您想使用cookie,只需在submitVote()的末尾設置cookie即可。在submitVote()開始時,您首先查找cookie。如果存在,那麼您不會將投票發送到服務器。您可以使用alert()來告訴用戶他們不能投票兩次。如果它不存在,那麼只需將投票提交給服務器,然後再添加cookie。

+0

我不知道代碼將如何工作。 – Nick

0

任何你做客戶端可以被擊敗,你必須檢查服務器上的多個選票。但是你可以通過簡單地移除聽衆做了部分實現,當他們按一下按鈕:

<a href="voteManually.html" onclick="submitVote(); this.onclick='';">vote</a> 

注意,只需重新加載頁面將重振聽衆和刪除的cookie將打敗一個cookie的解決方案,並重置調制解調器將擊敗IP嗅探,並且...