PHP Beispiel AJAX Vote
AJAX Vote
In den folgenden Beispielen werden wir ein Abstimmungsverfahren, durch die die Abstimmungsergebnisse angezeigt werden, in dem Fall zeigen, wo die Seite nicht aktualisiert wird.
Mögen Sie PHP und AJAX tun?
Beispiele erläutern - HTML-Seite
Wenn der Benutzer wählt oben eine Option auszuführen namens "getVote ()" Funktion. Diese Funktion wird durch die "Onclick" Ereignis ausgelöst hat.
poll.html Datei Code ist wie folgt:
<html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> <script> function getVote(int) { if (window.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) { document.getElementById("poll").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","poll_vote.php?vote="+int,true); xmlhttp.send(); } </script> </head> <body> <div id="poll"> <h3>你喜欢 PHP 和 AJAX 吗?</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>
getVote () Funktion führt die folgenden Schritte aus:
- Erstellen Sie XMLHttpRequest-Objekt
- Erstellen Sie Funktion, wenn der Server bereit ist, die Reaktion durchzuführen
- Datei auf dem Server-Anforderungen zu senden
- Bitte beachten Sie an das Ende des URL-Parameters hinzugefügt (q) (enthält den Inhalt der Dropdown-Liste)
PHP-Datei
Oberhalb dieser Server - Seite durch die JavaScript aufgerufen wird "poll_vote.php" PHP - Dateien genannt:
<?php $vote = htmlspecialchars($_REQUEST['vote']); // 获取文件中存储的数据 $filename = "poll_result.txt"; $content = file($filename); // 将数据分割到数组中 $array = explode("||", $content[0]); $yes = $array[0]; $no = $array[1]; if ($vote == 0) { $yes = $yes + 1; } if ($vote == 1) { $no = $no + 1; } // 插入投票数据 $insertvote = $yes."||".$no; $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/($no+$yes),2)); ?>px; height:20px;" ></span> <?php echo(100*round($yes/($no+$yes),2)); ?>% </td> </tr> <tr> <td>否:</td> <td> <span style="display: inline-block; background-color:red; width:<?php echo(100*round($no/($no+$yes),2)); ?>px; height:20px;"></span> <?php echo(100*round($no/($no+$yes),2)); ?>% </td> </tr> </table>
Wenn der ausgewählte Wert von JavaScript zu PHP-Datei gesendet wird, auftreten:
- Get-Content "poll_result.txt" Datei
- Der Inhalt der Datei in eine Variable, die ausgewählte Variable um 1 erhöht werden,
- Schreibt "poll_result.txt" Datei Ergebnisse
- Die grafische Ausgabe der Umfrageergebnisse
Textdatei
Textdatei (poll_result.txt) Daten aus dem Abstimmungsverfahren zu speichern.
Er speichert die Daten wie folgt:
3||4
Die erste Zahl gibt "Ja" Stimmenauszählung und die zweite Zahl steht für die "Nein" Stimmenauszählung.
Hinweis: Denken Sie daran, nur lassen Sie Ihren Web - Server die Textdatei zu bearbeiten.VerwendenSie keine anderen Menschen lassen Zugang bekommen, zusätzlich zu den Web - Server (PHP).