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 相关文章推荐
PHP4之真OO
Oct 09 PHP
PHP 分页类(模仿google)-面试题目解答
Sep 13 PHP
php批量缩放图片的代码[ini参数控制]
Feb 11 PHP
php SQL Injection with MySQL
Feb 27 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
解析htaccess伪静态的规则
Jun 18 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
PHP7标量类型declare用法实例分析
Sep 26 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
基于laravel Request的所有方法详解
Sep 29 PHP
一次项目中Thinkphp绕过禁用函数的实战记录
Nov 17 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中使用php://input处理相同name值的表单数据
2015/02/03 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
2016/12/15 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
浅谈python之新式类
2018/08/12 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
flask框架路由常用定义方式总结
2019/07/23 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
基于python实现从尾到头打印链表
2019/11/02 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
消防先进事迹材料
2014/02/10 职场文书
给老师的检讨书
2014/02/11 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
2014年教师德育工作总结
2014/11/10 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
音乐之声观后感
2015/06/04 职场文书
Node实现搜索框进行模糊查询
2021/06/28 Javascript