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 相关文章推荐
NT IIS下用ODBC连接数据库
Oct 09 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
Aug 08 PHP
Codeigniter生成Excel文档的简单方法
Jun 12 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
php中的常用魔术方法汇总
Feb 14 PHP
Linux下编译redis和phpredis的方法
Apr 07 PHP
nginx下安装php7+php5
Jul 31 PHP
PHP会员找回密码功能的简单实现
Sep 05 PHP
PHP 7.1新特性的汇总介绍
Dec 16 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 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用函数嵌入网站访问量计数器
Oct 27 #PHP
PHP实现网站访问量计数器
Oct 27 #PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 #PHP
You might like
PHP下MAIL的另一解决方案
2006/10/09 PHP
PHP4引用文件语句的对比
2006/10/09 PHP
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
2017/01/04 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
Python生成随机MAC地址
2015/03/10 Python
python 查找字符串是否存在实例详解
2017/01/20 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
Numpy之reshape()使用详解
2019/12/26 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
Python之多进程与多线程的使用
2021/02/23 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
介绍一下XMLHttpRequest对象
2012/02/12 面试题
大学生学期自我鉴定
2014/03/19 职场文书
百日安全活动总结
2014/05/04 职场文书
公司副总经理任命书
2014/06/05 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
大专护理专业自荐信
2015/03/25 职场文书
劳动者解除劳动合同通知书
2015/04/16 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
社区低保工作总结2015
2015/07/23 职场文书
慰问信的写作格式及范文!
2019/06/24 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript