//前端ajax提交数据
<input type="button" onClick="change_love({$article.article_id})" value="赞一下"/></a> <!--<input type="button" value="点赞" onClick="zan()"/>--> {$article.love}</p> </div> </div></section><script>function change_love(article_id){ //var Lastsend = document.getCookie('ECS_auction_Lastsend_'+article_id); //alert('点赞成功'); $.ajax({ url:'article.php',//后台处理路径 type:'post',//post提交方式 data:{id:article_id},//点赞的文章id success:function(data){//数据返回成功 if(data==1){//成功 } }});}</script>
$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 "<script>alert('ip已存在')</script>"; }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 "<script>alert('点赞成功')</script>"; }}
我觉得吧,设计一个表,只有两个字段即可,一个是文章id,一个是用户的ip,两个字段作为联合主键。
每次用户访问,查询,查到了就是点赞过。没查到就可以点赞,由于是联合主键,肯定只能插入一条,因此通过数据库就帮你做了一次限制。查看文章的点赞数,直接where 文章id即可count。
因此,联合主键的顺序是:文章id,用户ip
我觉得吧,设计一个表,只有两个字段即可,一个是文章id,一个是用户的ip,两个字段作为联合主键。
每次用户访问,查询,查到了就是点赞过。没查到就可以点赞,由于是联合主键,肯定只能插入一条,因此通过数据库就帮你做了一次限制。查看文章的点赞数,直接where 文章id即可count。
因此,联合主键的顺序是:文章id,用户ip
$query="SELECT * FROM ecs_article_love where article_id=‘$article_id’ and ip='$realip'";
$query="SELECT * FROM ecs_article_love where article_id=‘$article_id’ and ip='$realip'";
请问ajax提交成功后怎么把点赞成功的消息弹出来。直接输出个echo 1吗?对!echo 1;
对!echo 1;
好像不行啊什么叫 好像不行 ???
什么叫 好像不行 ???
$ip1=$row[2]; $ip2=$realip; //echo $ip; if(!empty($row) && strcmp($ip1,$ip2)==0){ //echo "<script>alert('ip已存在')</script>"; echo 1; }else{ //$iptime=time(); //$day=date(
url:'article.php',//后台处理路径 type:'post',//post提交方式 data:{id:article_id},//点赞的文章id success:function(data){//数据返回成功 if(data==1){//成功 alert('点赞成功!'); } }});
调试 ajax 程序一般比较困难,在不借助工具的情况下,要添加检查数据的代码
success:function(data){//数据返回成功
alert(data); //只要 ajax 不出错,这里总是会有弹窗的
if(data==1){//成功
alert('点赞成功!');
}
}
php端
if(!empty($row) && strcmp($ip1,$ip2)==0){
echo 1;
}else{
echo 0;
}
每个分支都输出点什么,这样就容易发现流程是否有问题
调试 ajax 程序一般比较困难,在不借助工具的情况下,要添加检查数据的代码
success:function(data){//数据返回成功
alert(data); //只要 ajax 不出错,这里总是会有弹窗的
if(data==1){//成功
alert('点赞成功!');
}
}
php端
if(!empty($row) && strcmp($ip1,$ip2)==0){
echo 1;
}else{
echo 0;
}
每个分支都输出点什么,这样就容易发现流程是否有问题
检查一下,提交的数据,与获取的数据。
如果都没问题,再检查一下返回的数据。
最好在php把接受到的数据写到log,方便检查。
然后在js把返回的数据显示。
检查一下,提交的数据,与获取的数据。
如果都没问题,再检查一下返回的数据。
最好在php把接受到的数据写到log,方便检查。
然后在js把返回的数据显示。
前面上现的 html 和 js 代码,表示你向 ajax 返回数据的代码有问题(入口点不对)
下面出现的 php 错误信息,表示你的程序没有做容错处理
先解决了这些再说
前面上现的 html 和 js 代码,表示你向 ajax 返回数据的代码有问题(入口点不对)
下面出现的 php 错误信息,表示你的程序没有做容错处理
先解决了这些再说