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 相关文章推荐
一个用于网络的工具函数库
Oct 09 PHP
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
Jan 16 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
Jun 05 PHP
PHP实现对站点内容外部链接的过滤方法
Sep 10 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
CodeIgniter中使用Smarty3基本配置
Jun 29 PHP
Zend Framework实现多文件上传功能实例
Mar 21 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
Mar 15 PHP
PHP使用标准库spl实现的观察者模式示例
Aug 04 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
Jan 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
php之字符串变相相减的代码
2007/03/19 PHP
php array_merge下进行数组合并的代码
2008/07/22 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
php安全配置记录和常见错误梳理(总结)
2017/03/28 PHP
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
jquery中ajax函数执行顺序问题之如何设置同步
2014/02/28 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
python操作MySQL数据库具体方法
2013/10/28 Python
5种Python单例模式的实现方式
2016/01/14 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
Python爬取腾讯视频评论的思路详解
2019/12/19 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
巧用HTML5给按钮背景设计不同的动画简单实例
2016/08/09 HTML / CSS
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
优秀的计算机专业求职信范文
2013/12/27 职场文书
检查接待方案
2014/02/27 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
双方协议书
2014/04/22 职场文书
财务管理专业自荐书
2014/09/02 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
python - timeit 时间模块
2021/04/06 Python
Opencv实现二维直方图的计算及绘制
2021/07/21 Python
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记