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判断浏览器的类型和语言的函数代码
Feb 28 PHP
PHP中最容易忘记的一些知识点总结
Apr 28 PHP
php常用数学函数汇总
Nov 21 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
php根据日期显示所在星座的方法
Jul 13 PHP
php实现异步数据调用的方法
Dec 24 PHP
php 中奖概率算法实现代码
Jan 25 PHP
PHP中TP5 上传文件的实例详解
Jul 31 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
PHP中localeconv()函数的用法
Mar 26 PHP
TP5.0框架实现无限极回复功能的方法分析
May 04 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
一个取得文件扩展名的函数
2006/10/09 PHP
laravel安装和配置教程
2014/10/29 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
你必须知道的Javascript知识点之&quot;this指针&quot;的应用
2013/04/23 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
python判断windows隐藏文件的方法
2014/03/21 Python
Python的字典和列表的使用中一些需要注意的地方
2015/04/24 Python
Python实现基于权重的随机数2种方法
2015/04/28 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
python中scikit-learn机器代码实例
2018/08/05 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
python openpyxl模块的使用详解
2021/02/25 Python
Java的基础面试题附答案
2016/01/10 面试题
在浏览器端如何得到服务器端响应的XML数据
2012/11/24 面试题
会计电算化专业应届大学生求职信
2013/10/22 职场文书
信息系统专业个人求职信范文
2013/12/07 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
患者身份识别制度
2015/08/06 职场文书