完整的ajax请求投票点赞功能的实现【数据库表一(票数)表二(ip限制重复投票)】
前端php页面
<?php
if(isset($_GET['id'])){
$id=$_GET['id'];
}
include('data/conn.php');
$sqls="select count from activity where id=$id";
$results=mysqli_query($link,$sqls);
$row=mysqli_fetch_assoc($results);
$ip= $_SERVER['REMOTE_ADDR'];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/saveclick.css" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<title>分享收集花瓣</title>
</head>
<body>
<div class="content">
<div class="word-2"></div>
<div class="ticket"></div>
<div class="count" id="count"><?php echo $row['count'] ?></div>
<div class="font">花瓣数量</div>
<div style="float: right;" onclick="collect();">
<div class="huaban"></div>
<div class="font ft-1" >送TA花瓣</div>
</div>
<div class="st" style="display:none;"><?php echo $id ?></div>
<div class="ip" style="display:none;"><?php echo $ip;?></div> </div>
</body>
<script type="text/javascript">
function collect(){
var id=$('.st').text();
var count=$("#count").text();
var ip=$('.ip').text();
$.post('data/data-count.php',{"id":id,"ip":ip},function(data){
if(count>=){
alert("攒花成功了,赶紧截图帮TA发到天甲网络微信公众号领奖去吧!");
window.location.href="ticket1.php";
}else{
if(data['msg']==){
alert("你已经送过TA花瓣了,分享到朋友圈让其他小伙伴一起为TA送花!");
}else if(data['msg']==){
alert('送TA花瓣失败了,请重新送花!');
}else{
alert("送花成功,赶紧分享到朋友圈喊其他小伙伴一起为TA送花吧!");
$("#count").html(parseInt(count)+);
}
} },'JSON'); }
</script>
</html>
数据库连接mysqli
<?php
$link=mysqli_connect('localhost','root','','38activity');
mysqli_query($link,"SET NAMES 'utf8'");
?>
后台处理数据页面实现计数更新以及ip防止重复记录
<?php
include('conn.php');
$id=$_POST['id'];
$ip=$_POST['ip'];
$ip_sql=mysqli_query($link,"select ip from ip where aid=$id and ip='$ip' ");
$count=mysqli_num_rows($ip_sql);
if($count==){ //没有投票
$sql="update activity set count=count+1 where id=$id" ;
mysqli_query($link,$sql);
$sql_in = "insert into ip(ip,aid) values ('$ip','$id')";
mysqli_query($link,$sql_in);
if(mysqli_insert_id($link)>){
$arr['msg'] = ;
$arr['success'] = '投票成功,谢谢您的参与';
echo json_encode($arr);
}else{
$arr['msg'] = ;
$arr['success'] = '操作失败,请重试';
echo json_encode($arr);
}
}else{
$arr['msg'] = ;
$arr['success'] = '您已经投票过了';
echo json_encode($arr);
}
数据库表
完整的ajax请求投票点赞功能的实现【数据库表一(票数)表二(ip限制重复投票)】的更多相关文章
- ajax请求锁屏功能
我们有时候在进行ajax请求的时候希望页面不允许点击,等请求结束之后才可以进行点击,那么可以写: $(".cloudos-container").ajaxStart($.block ...
- php + ajax实现 帖子点赞功能
知识: 一.首先页面需要加载jquery框架 二.ajax常用参数解释: ①.type:传输数据方式,get或者post ②.url:处理数据的PHP脚本 ③.data:传输的数据索引及值,值用js获 ...
- 较简单的用ajax修改和添加功能(链接数据库)
修改和添加关于数据库的信息,可以用于任何的添加和修改 这些数据库和前面的随笔数据库是一样的 一.显示出数据库中的信息 (1)显示的效果也可以是用bootstrap的标签页显示(前面一定要引入boots ...
- 原生js发送ajax请求
堕落了一阵子了,今天打开博客,发现连登录的用户名和密码都不记得了.2016年已过半,不能再这么晃荡下去了. 参加了网易微专业-前端攻城狮 培训,目前进行到大作业开发阶段,感觉举步维艰.但是无论如何,不 ...
- 从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- js ajax请求传token
js ajax请求传token 方法一: headers: { Authorization: "BasicAuth " + token } 方法二: beforeSend: fu ...
- jQuery实现的分页功能,包括ajax请求,后台数据,有完整demo
一:需求分析 1)需要首页,末页功能 2)有点击查看上一页,下一页功能 3)页码到当前可视页码最后一页刷新页面 二:功能实现思路 也是分为三部分处理 1)点击首页,末页直接显示第一页或者最后一页内容, ...
- ajax点赞功能
- BBS(第一天)项目之 注册功能实现通过forms验证与 前端ajax请求触发查询数据库判断用户是否存在的功能实现
1.BBS项目之注册功能通过forms验证 from django import forms from blog.models import User from django.contrib.auth ...
随机推荐
- 开发错误12:gradle编译错误:Conflict with dependency com.android.support:support-annotations
在build.gradle中的configurations.all {}下添加:resolutionStrategy.force 'com.android.support:support-annota ...
- 让apache后端显示真实客户端IP
公司是nginx做代理,后端的web服务用的是apache,然后我现在要分析日志,但是,我的apache日志上显示的是代理服务器的ip地址,不是客户的真实IP 所以这里我需要修改一下,让apache的 ...
- iOS开发小技巧--即时通讯项目:消息发送框(UITextView)高度的变化; 以及UITextView光标复位的小技巧
1.即时通讯项目中输入框(UITextView)跟随输入文字的增多,高度变化的实现 最主要的方法就是监听UITextView的文字变化的方法- (void)textViewDidChange:(UIT ...
- mysql 数据库隔离级别
select @@tx_isolation; 4种隔离级别 1.read uncommitted 2.read committed 3.repeatable read(MySQL默认隔离级别) 4. ...
- IOS APP开发中View的几种实现方式
xib文件有以下几个重要的属性: xib文件名 File’s Owner xib文件中的视图的Class xib文件中的视图的Outlet指向 File’s Owner 可以关联到某类,然后通过IBO ...
- DOCTYPE是什么鬼?文档模式又是什么鬼?
!DOCTYPE !DOCTYPE是什么: 在所有 HTML 文档中规定 DOCTYPE 是非常重要的,这样浏览器就能了解预期的文档类型, 告诉浏览器要通过哪一种规范(文档类型定义 DTD)解析文档( ...
- nodeJS+express+Jade写一个局域网聊天应用(node基础)
为了复习一下nodeJS, 而且socketIO这东西听起来就好高端有木有, 而且有人写过了open, 也可以作为自己的参考有木有, 点击下载源代码: express是4.x的版本, 跟以前的配置有些 ...
- hdu2665 && poj2104划分树
K-th Number Time Limit: 20000MS Memory Limit: 65536K Total Submissions: 47066 Accepted: 15743 Ca ...
- Hibernate @Formula 注解方式
1.Formula的作用 Formula的作用就是用一个查询语句动态的生成一个类的属性 就是一条select count(*)...构成的虚拟列,而不是存储在数据库里的一个字段.用比较标准的说法就是: ...
- SpringMVC与Struts2区别与比较总结
1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上Spr ...