完整的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 ...
随机推荐
- 4-pwd 打印当前工作目录
pwd print name of current/working directory 打印当前工作目录 [语法]: pwd [选项] [参数] [功能介绍] pwd命令以绝对路径的方式显示用户当前工 ...
- android 发送GET请求 服务端接收乱码的问题
在android的编程中常会使用get/post请求,在用get请求的时候数据是直接放在url当中的 例如: http://apicloud.mob.com/v1/weather/query?key= ...
- 《HTTP 权威指南》
第一篇: Web基础 (HTTP概述. URL.HTTP报文.连接管理) 0. scheme:方案! 协议类型 1.HTTP:超文本传输(状态转移)协议:通信协议方案. web浏览 ...
- js实现倒计时效果
<!DOCTYPE html><head><meta http-equiv="Content-Type" content="text/htm ...
- tttttabs
<div id="fil-page" class="fil-page"> <div class="fil-container&quo ...
- nginx安装(1) – ttlsa教程系列之nginx
1.必要软件准备 安装pcre 为了支持rewrite功能,我们需要安装pcre 1 # yum install pcre* //如过你已经装了,请跳过这一步 安装openssl 需要ssl的支持 ...
- (function($, window, document) {}) jQuery 调用解决与其他javascript库冲突的写法
将函数包在红色字体内部,可以解决$符号与其他插件的冲突. <script type="text/javascript"> (function($, window, do ...
- 【BZOJ 2818】gcd 欧拉筛
枚举小于n的质数,然后再枚举小于n/这个质数的Φ的和,乘2再加1即可.乘2是因为xy互换是另一组解,加1是x==y==1时的一组解.至于求和我们只需处理前缀和就可以啦,注意Φ(1)的值不能包含在前缀和 ...
- Echarts-axislabel文字过长导致显示不全或重叠
先看两张图 按目前情况,官方并为对axislabel的高度或者宽度做调整.所以解决方案只能从其他方案下手 解决方案有几种 第一种为上图解决方案 设置grid属性定义图的大小来释放空间,使得axisla ...
- Jquery-选择框点击勾选或者取消
1:单选框,直接定位到属性名称 $(document).ready(function(){ var old = null; //用来保存原来的对象 $("input[name='sex']& ...