求大神解决下这个php问题

qingwadaxia_1 2017-12-14 09:30:36
<?php
include_once("connect.php");

$ip = get_client_ip();
$id = $_POST['id'];
if(!isset($id) || empty($id)) exit;

$ip_sql=mysql_query("select ip from pic_ip where pic_id='$id' and ip='$ip'");
$count=mysql_num_rows($ip_sql);
if($count==0){
$sql = "update pic set love=love+1 where id='$id'";
mysql_query( $sql);
$sql_in = "insert into pic_ip (pic_id,ip) values ('$id','$ip')";
mysql_query( $sql_in);
$result = mysql_query("select love from pic where id='$id'");
$row = mysql_fetch_array($result);
$love = $row['love'];
echo $love;
}else{
echo "赞过了..";
}

//获取用户真实IP
function get_client_ip() {
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP");
else
if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else
if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
else
if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return ($ip);
}
?>


上面是一个点击红心就点赞加1的效果,如图:



现在的问题是:

两张图的红心都可以点击一下加1, 我不想这样 我只想点了一张之后 就不能再点击第二张图的红心 永远只能点一次

请问如何改判断
...全文
163 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhenbinlong0512 2017-12-14
  • 打赏
  • 举报
回复
将点赞ip存入点赞图片上,每个ip只能点赞一次,判断点赞ip应该就行吧
小罗的小刘 2017-12-14
  • 打赏
  • 举报
回复
首先你得要一个记录IP的字段,然后判断是SQL 条件是用户ID跟IP 要是有则返回False 没有则插入
xuzuning 2017-12-14
  • 打赏
  • 举报
回复
$sql = "update pic set love=love+1 where id='$id'"; 写作 $sql = "update pic set love=1 where id='$id'"; 什么控制都不要!
qq_34139573 2017-12-14
  • 打赏
  • 举报
回复
$ip_sql=mysql_query("select ip from pic_ip where pic_id='$id' and ip='$ip'");

这句代码去掉pic_id='$id' 条件就可以了
qingwadaxia_1 2017-12-14
  • 打赏
  • 举报
回复
在线急等。。。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧