自己喜欢按钮

时间:2014-02-26 16:18:08

标签: php

我在自己的网站上创建了一个类似按钮(不像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;

1 个答案:

答案 0 :(得分:0)

您可以使用javascript cookie和php会话来防止刷新和重复点击。 如果您正在寻找一个永久性的解决方案,以防止再次出现,您需要将用户IP添加到具有喜欢的条目ID的mysql表中。

但是这样,你将只有一个喜欢来自每个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>";
}