2014-02-26 183 views
0

我在我自己的網站上創建了一個喜歡的按鈕(而不是Facebook像按鈕)。當用戶點擊類似按鈕時,計數增加1,鏈接變爲不活動狀態。 但問題是,如果我刷新頁面計數自動增加。 需要幫助其在PHP中。 代碼是自己喜歡的按鈕

if(@$_GET['click']=="like") 
{ 
    $_SESSION['like']=1; 
    $lk=$row['likes']+1; 
    $iid=$row['id']; 
    mysql_query("UPDATE `blog` SET `likes`=$lk WHERE id=$iid "); 
    $row['likes']++; 
    $lmsg="<img title='Already Liked' src='a_data/upg.png'>"; 
} 
else 
{ 
    $lmsg="<a href='viewblog.php?id=".$gid."&click=like'> <img title='Like It' src='a_data/up.png'></a>"; 
} 

echo "<div id='like'>".$row['likes']."</div> ".$lmsg; 
+2

@Steve沒有必要爲所有那些'語言:郎'編輯。如果適當的標籤在那裏,突出顯示是自動的。 – Bart

+0

您是否也在使用JavaScript進行此過程?我們也可以看到嗎? –

+0

我可以知道beeter的方式來做到這一點嗎? – kadamviraj

回答

0

可以使用,JavaScript的餅乾和PHP會議,以防止刷新和重複點擊。 如果你正在尋找一個永久的解決方案,以防止再次喜歡你需要添加用戶IP到一個MySQL表與喜歡的條目ID。

但是這樣,你將只有一個像每個ip一樣。 (想想一家有100人工作的公司,其中只有一個人可以喜歡你的項目。)

確切而恰當的解決方案是成員資格。每個用戶都被識別出一個唯一的ID。

也只是回答您的問題刷新,你可以編輯你這樣的代碼:

if(@$_GET['click']=="like" && !isset($_SESSION['like'])) 
{ 
$_SESSION['like']=1; 
$lk=$row['likes']+1; 
$iid=$row['id']; 
mysql_query("UPDATE `blog` SET `likes`=$lk WHERE id=$iid "); 
$row['likes']++; 
$lmsg="<img title='Already Liked' src='a_data/upg.png'>"; 
} 
else 
{ 
$lmsg="<a href='viewblog.php?id=".$gid."&click=like'> <img title='Like It' src='a_data/up.png'> </a>"; 
} 
+0

你可以用我的技術顯示我的代碼嗎? – kadamviraj

+0

我試過仍然發生相同的.. 它得到增量evrytime我刷新。 – kadamviraj

+0

您是否在文件的開頭添加了'session_start()'? – artuc