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 相关文章推荐
在PWS上安装PHP4.0正式版
Oct 09 PHP
php购物网站支付paypal使用方法
Nov 28 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
Aug 06 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 PHP
PHP return语句另类用法不止是在函数中
Sep 17 PHP
PHP中的表达式简述
May 29 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
php插件Xajax使用方法详解
Aug 31 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
laravel高级的Join语法详解以及使用Join多个条件
Oct 16 PHP
laravel 实现根据字段不同值做不同查询
Oct 23 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 #PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 #PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 #PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 #PHP
PHP简单实现循环链表功能示例
Nov 10 #PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
Nov 08 #PHP
php基于环形链表解决约瑟夫环问题示例
Nov 07 #PHP
You might like
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
Javascript Throttle &amp; Debounce应用介绍
2013/03/19 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
2016/09/01 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
2016/09/23 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
详解Python编程中time模块的使用
2015/11/20 Python
Python按行读取文件的简单实现方法
2016/06/22 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
Python实现多级目录压缩与解压文件的方法
2018/09/01 Python
Python实现的特征提取操作示例
2018/12/03 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
Python中的self用法详解
2019/08/06 Python
Python with语句和过程抽取思想
2019/12/23 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
Python安装Bs4的多种方法
2020/11/28 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
Unix如何在一行中运行多个命令
2015/05/29 面试题
政法学院毕业生求职信
2014/02/28 职场文书
公开服务承诺制度
2014/03/26 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
2014年市场部工作总结
2014/11/25 职场文书
超市员工辞职信范文
2015/05/12 职场文书
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python