Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie die Wahlmaschinenfunktion mit PHP+AJAX

So implementieren Sie die Wahlmaschinenfunktion mit PHP+AJAX

墨辰丷
墨辰丷Original
2018-05-17 11:59:581906Durchsuche

In diesem Artikel wird hauptsächlich die Funktion der PHP+AJAX-Abstimmungsmaschine vorgestellt. Dieser Artikel stellt sie Ihnen ausführlich anhand eines Beispielcodes vor.

Abschließend wird AJAX als „ asynchrones Javascript und XML“, das ein teilweises Laden von Webseiteninhalten realisieren und die Benutzererfahrung verbessern kann. Heutzutage verwenden viele Websites diese Technologie. Sie wissen jedoch, dass sie eine asynchrone Aktualisierung von Webseiten realisieren kann. Natürlich sind die folgenden Beispiele relativ einfach und spiegeln diese Funktion nicht wider~

Wähler

Neue Datei [AJAX vote.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(&#39;poll&#39;).innerHTML = xmlhttp.responseText;
        }
      }
      // 向PHP脚本传递主要参数q
      xmlhttp.open("GET", "poll_vote.php?q=" + int, true);
      xmlhttp.send();
    }
  </script>
</head>
<body>
  <p 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>
  </p>
</body>
</html>

Erstellen Sie die Skriptdatei [poll_vote.php]

<?php 
  // 接收参数q
  $vote = htmlspecialchars($_REQUEST[&#39;q&#39;]);
  // 获取文件中存储的数据(这里需要在同一目录下新建一个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 . &#39;||&#39; . $no . &#39;||&#39; . $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>

Erstellen Sie ein leeres Dokument 【poll_result.txt】

Verzeichnis derzeit:

|-AJAX vote.html
|-poll_vote.php
|-poll_result.txt

Bei Abweichungen müssen Sie den entsprechenden Code oben ändern

Wirkung:

So implementieren Sie die Wahlmaschinenfunktion mit PHP+AJAX

So implementieren Sie die Wahlmaschinenfunktion mit PHP+AJAX

Verwandte Empfehlungen:

Demo über AJAX-Abstimmung

Mitteilung des Designs und der Implementierung des PHP plus MySQL-Abstimmungssystems

PHP hat Beispielfreigabe für die Mood-Voting-Funktion veröffentlicht

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Wahlmaschinenfunktion mit PHP+AJAX. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn