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 memcache扩展的三种安装方法
Apr 26 PHP
php中几种常见安全设置详解
Apr 06 PHP
php强制下载类型的实现代码
Apr 21 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
php下Memcached入门实例解析
Jan 05 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
PHP实现图片自动清理的方法
Jul 08 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
php中对象引用和复制实例分析
Aug 14 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
php mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
2013/06/24 PHP
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
JavaScript中实现块作用域的方法
2010/04/01 Javascript
JavaScript 面向对象之命名空间
2010/05/04 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
layui 实现加载动画以及非真实加载进度的方法
2019/09/23 Javascript
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
Python抽象和自定义类定义与用法示例
2018/08/23 Python
python代理工具mitmproxy使用指南
2019/07/04 Python
Python占用的内存优化教程
2019/07/28 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
建筑施工安全责任书
2014/07/24 职场文书
2015年社区教育工作总结
2015/05/13 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
OpenCV全景图像拼接的实现示例
2021/06/05 Python
ubuntu下常用apt命令介绍
2022/06/05 Servers