Heim >Backend-Entwicklung >PHP-Tutorial >PHP kombiniert mit Ajax zur Implementierung der Abstimmungsfunktion
In diesem Artikel wird hauptsächlich PHP in Kombination mit Ajax zur Implementierung der Abstimmungsfunktion vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
In diesem AJAX-Beispiel demonstrieren wir ein Abstimmungsprogramm und die Ergebnisse können ohne Neuladen der Webseite abgerufen werden.
Dieses Beispiel enthält vier Elemente:
① HTML-Formular
② JavaScript
③ PHP-Seite
④ Textdatei zum Speichern der Ergebnisse
1. HTML-Formular
Dies ist eine HTML-Seite. Es enthält ein einfaches HTML-Formular und eine Verbindung zu einer JavaScript-Datei:
<html> <head> <script src="poll.js"></script> </head> <body> <p id="poll"> <h2>Do you like PHP and AJAX so far?</h2> <form> Yes: <input type="radio" name="vote" value="0" onclick="getVote(this.value)"> <br /> No: <input type="radio" name="vote" value="1" onclick="getVote(this.value)"> </form> </p> </body> </html>
Beispielerklärung – HTML-Formular
Wie Sie sehen können, enthält die obige HTML-Seite ein einfaches HTML-Formular, das Folgendes hat ein e388a4556c0f65e1904146cc1a846bee-Element mit zwei Optionsfeldern.
Das Formular funktioniert wie folgt:
1 Wenn der Benutzer „Ja“ oder „Nein“ auswählt, wird ein Ereignis ausgelöst
2 ()-Funktion wird ausgeführt
3. Um das Formular herum befindet sich ein e388a4556c0f65e1904146cc1a846bee Wenn Daten von der Funktion getVote() zurückgegeben werden, ersetzen die zurückgegebenen Daten das Formular.
2. Textdatei
Die Textdatei (poll_result.txt) speichert die Daten aus dem Abstimmungsprogramm.
Es sieht so aus:
0||0
Die erste Zahl steht für eine „Ja“-Stimme und die zweite Zahl für eine „Nein“-Stimme.
Hinweis: Denken Sie daran, nur Ihrem Webserver die Bearbeitung dieser Textdatei zu erlauben. Erlauben Sie niemandem außer dem Webserver (PHP) Zugriff.
3. JavaScript
JavaScript-Code wird in „poll.js“ gespeichert und mit dem HTML-Dokument verbunden:
var xmlHttp function getVote(int) { xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } var url="poll_vote.php" url=url+"?vote="+int url=url+"&sid="+Math.random() xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true) xmlHttp.send(null) } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("poll"). innerHTML=xmlHttp.responseText; } } function GetXmlHttpObject() { var objXMLHttp=null if (window.XMLHttpRequest) { objXMLHttp=new XMLHttpRequest() } else if (window.ActiveXObject) { objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") } return objXMLHttp }
Beispielerklärung : Die Funktionen
stateChanged() und GetXmlHttpObject sind die gleichen wie die Beispiele im Abschnitt „PHP- und AJAX-Anfragen“.
getVote()-Funktion
Diese Funktion wird ausgeführt, wenn der Benutzer im HTML-Formular „Ja“ oder „Nein“ auswählt.
1. Definieren Sie die an den Server gesendete URL (Dateiname)
2. Fügen Sie der URL Parameter (Abstimmung) mit dem Inhalt des Eingabefelds hinzu
3 den Server daran hindern, zwischengespeicherte Dateien zu verwenden
4. Rufen Sie die Funktion „GetXmlHttpObject“ auf, um ein XMLHTTP-Objekt zu erstellen, und weisen Sie das Objekt an, die stateChanged-Funktion auszuführen, wenn eine Änderung ausgelöst wird
6. Senden Sie eine HTTP-Anfrage an den Server
4. PHP-Seite
Die vom JavaScript-Code aufgerufene Serverseite ist eine einfache PHP-Datei mit dem Namen „poll_vote.php“.<?php $vote = $_REQUEST['vote']; //get content of textfile $filename = "poll_result.txt"; $content = file($filename); //put content in array $array = explode("||", $content[0]); $yes = $array[0]; $no = $array[1]; if ($vote == 0) { $yes = $yes + 1; } if ($vote == 1) { $no = $no + 1; } //insert votes to txt file $insertvote = $yes."||".$no; $fp = fopen($filename,"w"); fputs($fp,$insertvote); fclose($fp); ?> <h2>Result:</h2> <table> <tr> <td>Yes:</td> <td> <img src="poll.gif" width='<?php echo(100*round($yes/($no+$yes),2)); ?>' height='20'> <?php echo(100*round($yes/($no+$yes),2)); ?>% </td> </tr> <tr> <td>No:</td> <td> <img src="poll.gif" width='<?php echo(100*round($no/($no+$yes),2)); ?>' height='20'> <?php echo(100*round($no/($no+$yes),2)); ?>% </td> </tr> </table>
Beispielerklärung:
Der ausgewählte Wert wird von JavaScript übergeben und was passiert dann: 1. Holen Sie sich die Datei „poll_result.txt“. Dateiinhalt2. Fügen Sie den Dateiinhalt in die Variable ein und addieren Sie 1 zur ausgewählten Variablen
3 Schreiben Sie das Ergebnis in die Datei „poll_result.txt“
: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:PHP-Implementierung der Check-in-Funktion (Fall) So erhalten Sie die Artikelseite zu öffentlichen WeChat-Konten So erhalten Sie historische Nachrichten von öffentlichen WeChat-Konten
Das obige ist der detaillierte Inhalt vonPHP kombiniert mit Ajax zur Implementierung der Abstimmungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!