//前端ajax提交数据
{$article.love} 0
0
//前端ajax提交数据
{$article.love} $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 ""; }}
我觉得吧,设计一个表,只有两个字段即可,一个是文章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 错误信息,表示你的程序没有做容错处理
先解决了这些再说
相关文章
PHP多模块部署404怎么查_PHP多模块404定位修复【思路】
phpinfo可查PHP版本吗_用phpinfo获取版本信息操作【查询】
如何使用 PHP 自动共享 Google Docs 链接(无需对方请求访问)
PHP主流架构怎么监控运行状态_工具推荐【操作】
PHP 的 echo 输出如何在 AJAX 请求中查看与调试
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题整理了1688阿里巴巴批发进货平台的最新入口地址与在线采购指南,帮助用户快速找到官方网站入口,了解如何进行批发采购、货源选择以及厂家直销等功能,提升采购效率与平台使用体验。
748
2026.02.06
本专题汇总了快手网页版的最新入口地址和电脑版使用方法,详细提供快手官网直接访问链接、网页端操作教程,以及如何无需下载安装直接观看短视频的方式,帮助用户轻松浏览和观看快手短视频内容。
442
2026.02.06
本专题深入讲解 C# 中多线程与异步编程的核心概念与实战技巧,包括线程池管理、Task 类的使用、async/await 异步编程模式、并发控制与线程同步、死锁与竞态条件的解决方案。通过实际项目,帮助开发者掌握 如何在 C# 中构建高并发、低延迟的异步系统,提升应用性能和响应速度。
48
2026.02.06
本专题系统讲解 Python 微服务架构设计与 FastAPI 框架应用,涵盖 FastAPI 的快速开发、路由与依赖注入、数据模型验证、API 文档自动生成、OAuth2 与 JWT 身份验证、异步支持、部署与扩展等。通过实际案例,帮助学习者掌握 使用 FastAPI 构建高效、可扩展的微服务应用,提高服务响应速度与系统可维护性。
51
2026.02.06
本专题深入讲解 JavaScript 异步编程与事件驱动架构,涵盖 Promise、async/await、事件循环机制、回调函数、任务队列与微任务队列、以及如何设计高效的异步应用架构。通过多个实际示例,帮助开发者掌握 如何处理复杂异步操作,并利用事件驱动设计模式构建高效、响应式应用。
37
2026.02.06
热门下载
相关下载
精品课程
最新文章
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号