完整的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 ...
随机推荐
- C#中的数组,多维数组和交错数组
想研究一些面向对象的东西,也许是代码写得还不够多.感觉还不好,看那些教程,不是嫌太水就是太难看不懂.心情很是落寞 不过再怎样也要坚持每天发一篇博客. 这篇来说一下C#中的数组,多维数组,交错数组的一些 ...
- C#的值参数与引用参数
值参数:在使用值参数时,是把变量的值传给函数,函数中对此变量的任何修改都不影响该变量本身的值. 引用参数:使用引用参数时,在函数中对此变量的修改会影响变量的值. 说简单点,值参数,就是我把身份证复印件 ...
- Entity Framework Code First (五)Fluent API - 配置关系
上一篇文章我们讲解了如何用 Fluent API 来配置/映射属性和类型,本文将把重点放在其是如何配置关系的. 文中所使用代码如下 public class Student { public int ...
- js学习笔记3---自定义属性
1.自定义属性-----JS可以为任何 HTML元素 添加 任意个 自定义属性 方法:元素.属性 = 属性值 如:aBtn[0].abc = 123; 2.添加索引值,匹配数组 for(i=0; i& ...
- java获取json格式中的值
先右键项目,然后点击properties,然后选中java Builder Path,选择add external jars,引入需要引入json.jar package web; import or ...
- jsp动态include和静态Include
动态 INCLUDE 用 jsp:include 动作实现 <jsp:include page="included.jsp" flush="true" / ...
- Paths(转载)
Paths中的几个重要元素 Points void CGContextMoveToPoint ( CGContextRef c, CGFloat x, CGFloat y ); 指定一个点成为curr ...
- js-JavaScript高级程序设计学习笔记18
第21章 AJAX 4.跨域源资源共享 CORS跨域源资源共享,其背后思想,是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是否应该成功. 1.IE对CORS的实现 在IE8中引 ...
- GitHub项目大全
[微信网页版]: [查看被删的微信好友]https://github.com/0x5e/wechat-deleted-friends [网页版微信API,包含终端版微信及微信机器人]https://g ...
- oracle 锁的介绍 (转)
本文转自:http://blog.csdn.net/gyb2013/article/details/6929697 一.什么是锁: Oracle的锁机制是一种轻量级的锁定机制,不是通过构建锁列表来进行 ...