求大神看看,我做点赞时,限制每个ip只能点赞每篇文章一次,代码要怎么实现。
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了求大神看看,我做点赞时,限制每个ip只能点赞每篇文章一次,代码要怎么实现。,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3778字,纯文字阅读大概需要6分钟。
内容图文
//前端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
我觉得吧,设计一个表,只有两个字段即可,一个是文章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 ""; 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 错误信息,表示你的程序没有做容错处理
先解决了这些再说
内容总结
以上是互联网集市为您收集整理的求大神看看,我做点赞时,限制每个ip只能点赞每篇文章一次,代码要怎么实现。全部内容,希望文章能够帮你解决求大神看看,我做点赞时,限制每个ip只能点赞每篇文章一次,代码要怎么实现。所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。