求大神看看,我做點贊時,限制每個ip只能點贊每篇文章一次,代碼要怎麼實現。
//前端ajax提交資料
{$article.love}
//後台更新資料庫並判斷ip是否存在
$realip=getip();
//echo $realip;
modifyipcount($realip);
@$love=$_POST['id'];
if(isset($love)){
$query="SELECT * FROM ecs_article_love where article_id='".$article_id."'";
$result=mysql_query($query);
$row=mysql_fetch_row($result);
//dump($row);
$ip1=$row[2];
$ip2=$realip;
//echo $ip;
if(!empty($row) && strcmp($ip1,$ip2)==0){
echo "";
}else{
//$iptime=time();
//$day=date('Y-m-d');
//if($row[article_id]!=$article_id || $row[ip]!='')
$query="INSERT INTO ecs_article_love (ip,article_id) VALUES ('".$ip2."','".$article_id."')";
mysql_query($query);
echo "";
}
}
//判斷ip的表
------解決思路----------------------
我覺得吧,設計一個表,只有兩個欄位即可,一個是文章id,一個是使用者的ip,兩個欄位作為聯合主鍵。
每次使用者訪問,查詢,查到了就是點贊過。沒查到就可以點贊,由於是聯合主鍵,肯定只能插入一條,因此通過資料庫就幫你做了一次限制。查看文章的點贊數,直接where 文章id即可count。
因此,聯合主鍵的順序是:文章id,使用者ip
------解決思路----------------------
前面上現的 html 和 js 代碼,表示你向 ajax 返回資料的代碼有問題(進入點不對)
下面出現的 php 錯誤資訊,表示你的程式沒有做容錯處理
先解決了這些再說