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 缓冲的免费实现方法
Oct 09 PHP
PHP 数字左侧自动补0
Mar 31 PHP
PHP Ajax中文乱码问题解决方法
Feb 27 PHP
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
超小PHP小马小结(方便查找后门的朋友)
May 05 PHP
基于PHP 面向对象之成员方法详解
May 04 PHP
ThinkPHP3.1基础知识快速入门
Jun 19 PHP
php递归法读取目录及文件的方法
Jan 30 PHP
php浏览历史记录的方法
Mar 10 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
PHP智能识别收货地址信息实例
Jan 05 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 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
域名查询代码公布
2006/10/09 PHP
cache_lite试用
2007/02/14 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
PHP 访问数据库配置通用方法(json)
2018/05/20 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
Angular4 Select选择改变事件的方法
2018/10/09 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
[01:08:24]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第一场 2月5日
2021/03/11 DOTA
使用Python实现一个简单的项目监控
2015/03/31 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
理解python正则表达式
2016/01/15 Python
python操作字典类型的常用方法(推荐)
2016/05/16 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
python数据预处理 :数据抽样解析
2020/02/24 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
python连接mysql有哪些方法
2020/06/24 Python
Linux机考试题
2015/10/16 面试题
建材投资建议书
2014/05/16 职场文书
团队口号大全
2014/06/06 职场文书
事业单位考察材料范文
2014/12/25 职场文书
小学生表扬稿范文
2015/05/05 职场文书
公司表扬稿范文
2015/05/05 职场文书
投诉书范文
2015/07/02 职场文书