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 相关文章推荐
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
May 06 PHP
php绘图之在图片上写中文和英文的方法
Jan 24 PHP
php+ajax实现无刷新的新闻留言系统
Dec 21 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
Dec 30 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
Sep 02 PHP
PHP数据的提交与过滤基本操作实例详解
Nov 11 PHP
关于PHP通用返回值设置方法
Mar 31 PHP
php cli模式下获取参数的方法
May 05 PHP
php实现统计二进制中1的个数算法示例
Jan 23 PHP
Laravel 实现密码重置功能
Feb 23 PHP
laravel获取不到session的三种解决办法【推荐】
Sep 16 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模板引擎SMARTY
2006/10/09 PHP
php 保留小数点
2009/04/21 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
2015/06/25 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
react 生命周期实例分析
2020/05/18 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
django 环境变量配置过程详解
2019/08/06 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
2020/04/07 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
如何在Python对Excel进行读取
2020/06/04 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
市优秀教师事迹材料
2014/02/05 职场文书
洗发水广告词
2014/03/13 职场文书
计算机专业自荐信
2014/05/24 职场文书
生产操作工岗位职责
2014/09/16 职场文书
手术室护士个人总结
2015/02/13 职场文书
家长反馈意见及建议
2015/06/03 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
使用css样式设计一个简单的html登陆界面的实现
2021/03/30 HTML / CSS
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers
Nginx配置根据url参数重定向
2022/04/11 Servers