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