PHP+AJAX 投票器功能


Posted in PHP onNovember 11, 2017

终于到AJAX,翻译过来就是”异步Javascript和XML”,他可以实现网页内容的部分加载,可提高用户体验。现在有很多网站都有用这技术,反正你知道他能实现网页的异步更新就差不多了。当然下面的例子都相对简单,并没有体现它这一特点~

投票器

新建文件【 AJAX投票.html】

<html>
<head>
  <script type="text/javascript">
    // 这里是js代码
    function getVote(int) {
      if (window.XMLHttpRequest) {
        // 创建 XMLHttpRequest 对象
        // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行的代码
        xmlhttp = new XMLHttpRequest();
      } else {
        //IE6, IE5 浏览器执行的代码
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      // 监听响应
      xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState ==4 && xmlhttp.status == 200) {
          // 找到 id 为 poll 的控件
          document.getElementById('poll').innerHTML = xmlhttp.responseText;
        }
      }
      // 向PHP脚本传递主要参数q
      xmlhttp.open("GET", "poll_vote.php?q=" + int, true);
      xmlhttp.send();
    }
  </script>
</head>
<body>
  <div id="poll">
    <h3>你喜欢吃吗?</h3>
    <form>
      是:<input type="radio" name="vote" value="0" onclick="getVote(this.value)"><br>
      否:<input type="radio" name="vote" value="1" onclick="getVote(this.value)">
    </form>
  </div>
</body>
</html>

创建【poll_vote.php】脚本文件

<?php 
  // 接收参数q
  $vote = htmlspecialchars($_REQUEST['q']);
  // 获取文件中存储的数据(这里需要在同一目录下新建一个poll_result.txt文件)
  $filename = "poll_result.txt";
  $conn = file($filename);
  // 将数据分割到数组
  $array = explode("||", $conn[0]);
  $yes = $array[0];
  $no = $array[1];
  $count = $array[2];
  if ($vote == 0) {
    $yes += 1;
    $count += 1;
  }
  if ($vote == 1) {
    $no += 1;
    $count += 1;
  }
  // 将投票数据保存到文档
  $insertvote = $yes . '||' . $no . '||' . $count;
  $fp = fopen($filename, "w");
  fputs($fp, $insertvote);
  fclose($fp);
 ?>
 <h2>结果:</h2>
 <table>
  <tr>
    <td>是:</td>
    <td>
      <span style="display: inline-block; background-color: green; width: <?php echo 100 * round($yes / ($yes + $no), 2);?>px; height: 20px;"></span><?php echo 100 * round($yes / ($yes + $no), 2); ?>%
    </td>
  </tr>
  <tr>
    <td>否:</td>
    <td>
      <span style="display: inline-block; background-color: red; width: <?php echo 100 * round($no / ($yes + $no), 2);?>px; height: 20px;"></span><?php echo 100 * round($no / ($yes + $no), 2); ?>%
    </td>
  </tr>
 </table>
 <p><?php echo "参与人数:" . $count; ?></p>

新建一个空白的文档 【poll_result.txt】

此时目录:

|-AJAX投票.html
|-poll_vote.php
|-poll_result.txt

如果不同则需修改上面相应的代码

效果:

PHP+AJAX 投票器功能
PHP+AJAX 投票器功能

总结

以上所述是小编给大家介绍的PHP+AJAX 投票器功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

PHP 相关文章推荐
PHP JSON格式数据交互实例代码详解
Jan 13 PHP
php中使用Akismet防止垃圾评论的代码
Jun 10 PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 PHP
PHP面向对象概念
Nov 06 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
对PHP新手的一些建议(PHP学习经验总结)
Aug 20 PHP
php简单图像创建入门实例
Jun 10 PHP
yii 2.0中表单小部件的使用方法示例
May 23 PHP
PHP读取CSV大文件导入数据库的实例
Jul 24 PHP
php工具型代码之印章抠图
Jul 18 PHP
php实现每日签到功能
Nov 29 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
Nov 09 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 #PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 #PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 #PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 #PHP
PHP用函数嵌入网站访问量计数器
Oct 27 #PHP
PHP实现网站访问量计数器
Oct 27 #PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 #PHP
You might like
模仿OSO的论坛(五)
2006/10/09 PHP
PHP中cookies使用指南
2007/03/16 PHP
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
laradock环境docker-compose操作详解
2019/07/29 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
Python实现的一个简单LRU cache
2014/09/26 Python
python操作mysql代码总结
2018/06/01 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
大一自我鉴定范文
2013/12/27 职场文书
经销商订货会主持词
2014/03/27 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
合伙协议书
2014/04/23 职场文书
先进集体申报材料
2014/12/25 职场文书
万里长城导游词
2015/01/30 职场文书
超市主管竞聘书
2015/09/15 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书