首页博客网络编程
了解如何使用 AJAX 轮询进行交互式调查
摘要 PHP 投票系统是收集各种数据的好方法。 AJAX将帮助您使民意调查具有交互性和动态性。 这种投票吸引了更多的用户,因为结果会立即显示出来。 ​

AJAX 轮询让我们可以快速了解花点时间按下屏幕上按钮的每个人的立场。就是这么简单:他们选择一个选项,结果会立即生成。

学习使用PHP和AJAX对于任何处理数据的人来说都非常有效,因为这两个系统的组合使您可以将信息从浏览器发送到服务器并返回。它可以帮助您完成不同的任务,例如创建 AJAX 轮询系统。以这种方式创建的表单相当轻巧且易于使用。

由于 PHP 是一种广泛使用的编码语言,大多数具有一定经验的开发人员都可以访问它。借助AJAX的功能,任何PHP投票系统都可以显示结果,而无需重新加载整个网页。本教程解释了创建需要用户响应的 PHP 投票系统的方法。

内容

AJAX 轮询:主要提示

  • 通过使用PHP和AJAX,您可以进行交互式民意调查,这些民意调查将立即显示结果,而不会减慢您的网站速度。

  • 注入 AJAX 的 PHP 投票系统将帮助您收集数据,以便以后充分利用这些数据。

  • 这种PHP民意调查经常用于各种新闻网站,以了解读者对特定主题的看法。

第一步:HTML 文件

让我们使用一个简单的 PHP 轮询示例来使一切更清晰。我们将准备一个带有两个选项的 HTML 来回答一个问题。做出选择后,AJAX 投票系统会显示结果,而无需重新加载页面。

这是通过在进行选择时调用来实现的。此函数将由事件触发。让我们看一个 PHP 轮询脚本,看看它是如何工作的:get_votes()onclick

复制

<html>
  <head>
    <script>      function get_votes(int) {        if (window.XMLHttpRequest) {            // script for browser version above IE 7 and the other popular browsers (newer browsers)
            xmlhttpreq = new XMLHttpRequest();
        } else {  
            // script for the IE 5 and 6 browsers (older versions)
            xmlhttpreq = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttpreq.onreadystatechange = function() {          //check if server response is ready  
          if (this.readyState == 4 && this.status==200) {
            document.getElementById("ajax_poll").innerHTML=this.responseText;
          }
        }
        xmlhttpreq.open("GET","poll_votes.php?res="+int,true);
        xmlhttpreq.send();
      }
    </script>
  </head>
<body>
  <div id="ajax_poll">
    <h3>Is Bitdegree Learn a good learning platform?</h3>
    <form>
      Yes!
      <input type="radio" name="res" value="0" onclick="get_votes(this.value)">
      <br>No!
      <input type="radio" name="res" value="1" onclick="get_votes(this.value)">
    </form>
  </div>
</body>
</html>

如果没有该功能,AJAX 投票系统将无法执行。让我们看看它是如何执行的:get_vote()

  • 我们创建一个XMLHttpRequest对象。

  • 我们设置了一个功能。准备好服务器响应后,它将准备好执行。

  • 请求被发送到位于我们服务器上的PHP文档(poll_votes.php)。

注意:注意如何将 q 参数应用于 poll_votes.php?q=“+int(是/否值)。

PHP 投票系统: poll_vote.php文件

在下面的示例中,您可以看到 Javascript 如何向服务器发送请求。发送它以访问 AJAX 轮询系统所必需的poll_votes.php文件:

复制

<?php
  $res = $_REQUEST['res'];  //get content of the text file
  $file_name = 'poll_result.txt';
  $content = file($file_name);  //put content in an array
  $arr = explode('||', $content[0]);
  $y = $arr[0];
  $n = $arr[1];  if ($res == 0) {
    $y = $y + 1;
  }  if ($res == 1) {
    $n = $n + 1;
  }  //insert votes into text the file
  $insert_vote = $y."||".$n;
  $fp = fopen($file_name, 'w');
  fputs($fp,$insert_vote);
  fclose($fp);?><h2>Results:</h2>
<table>
  <tr>
    <td>Yes!:
      <img src="poll_results.png"
      width='<?php echo(200*round($y/($n+$y),2)); ?>'
      height='20'>      <?php echo(200*round($y/($n+$y),2)); ?>%
    </td>
  </tr>
  <tr>
    <td>No!:
      <img src='poll_results.png'
      width='<?php echo(200*round($n/($n+$y),2)); ?>'
      height='20'>      <?php echo(200*round($n/($n+$y),2)); ?>%
    </td>
  </tr>
</table>

JavaScript 会发出值。接下来会发生什么?

  • 接收poll_results.txt文件的内容并将其放置在变量中。

  • 一个被添加到所选变量的值中。

  • 结果将写入poll_results.txt文件中。

  • 将显示 PHP 轮询结果的图形表示。

PHP 投票结果的文本文件

每个 AJAX 轮询的结果都必须存储在某个位置。在本例中,我们将创建的 PHP 投票系统的结果数据存储在名为 poll_results.txt 的文本文档中。在这里,我们可以看到它将如何存储:

表中的第一个数字表示在PHP投票中按“是”的选民。第二个代表反对票。
0||0

记得:为服务器授予编辑文件的独占访问权限。

AJAX 轮询:摘要

  • PHP 投票系统是收集各种数据的好方法。

  • AJAX将帮助您使民意调查具有交互性和动态性。

  • 这种投票吸引了更多的用户,因为结果会立即显示出来。


声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!

本文链接:https://www.gaoxuejun173.top/blog/193

广告位

本文配乐
来说两句吧

该文章已禁止评论

最新评论

广告位