पीएचपी उदाहरण - AJAX पोल
AJAX पोल
निम्न उदाहरण एक पोल प्रदर्शित करेगा जहां परिणाम पुनः लोड किए बिना दिखाया गया है।
क्या आपको अब तक PHP और AJAX पसंद है?
उदाहरण समझाया - HTML पृष्ठ
जब कोई उपयोगकर्ता उपरोक्त विकल्प चुनता है, तो "getVote ()" नामक एक फ़ंक्शन निष्पादित होता है। फ़ंक्शन "ऑनक्लिक" ईवेंट द्वारा ट्रिगर किया गया है:
<html>
<head>
<script>
function getVote(int)
{
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (this.readyState==4 && this.status==200) {
document.getElementById("poll").innerHTML=this.responseText;
}
}
xmlhttp.open("GET","poll_vote.php?vote="+int,true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="poll">
<h3>Do you like PHP and AJAX so far?</h3>
<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>
</div>
</body>
</html>
GetVote () फ़ंक्शन निम्न कार्य करता है:
- XMLHttpRequest ऑब्जेक्ट बनाएं
- सर्वर प्रतिक्रिया तैयार होने पर निष्पादित होने के लिए फ़ंक्शन बनाएं
- सर्वर पर एक फ़ाइल के लिए अनुरोध भेजें
- ध्यान दें कि URL में एक पैरामीटर (वोट) जोड़ा जाता है (हां या नहीं विकल्प के मान के साथ)
पीएचपी फ़ाइल
सर्वर पर उपरोक्त जावास्क्रिप्ट द्वारा बुलाया गया पृष्ठ एक PHP फ़ाइल है जिसे "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>
मान जावास्क्रिप्ट से भेजा जाता है, और निम्न होता है:
- "Poll_result.txt" फ़ाइल की सामग्री प्राप्त करें
- फ़ाइल की सामग्री को चरों में रखें और चयनित चर में एक जोड़ें
- परिणाम "poll_result.txt" फ़ाइल में लिखें
- मतदान परिणाम का चित्रमय प्रतिनिधित्व आउटपुट करें
पाठ फ़ाइल
टेक्स्ट फ़ाइल (poll_result.txt) वह जगह है जहां हम पोल से डेटा स्टोर करते हैं।
इसे इस तरह संग्रहीत किया जाता है:
0||0
पहली संख्या "हां" वोटों का प्रतिनिधित्व करती है, दूसरी संख्या "नहीं" वोटों का प्रतिनिधित्व करती है।
नोट: अपने वेब सर्वर को टेक्स्ट फ़ाइल को संपादित करने की अनुमति देना याद रखें। सभी को एक्सेस न दें , केवल वेब सर्वर (PHP)।