PHP ဥပမာ - AJAX စစ်တမ်း
AJAX စစ်တမ်း
အောက်ဖော်ပြပါ ဥပမာသည် ပြန်လည်စတင်ခြင်းမရှိဘဲ ရလဒ်ပြသသည့် စစ်တမ်းတစ်ခုကို သရုပ်ပြပါမည်။
PHP နှင့် AJAX ကို ယခုအချိန်အထိ နှစ်သက်ပါသလား။
နမူနာရှင်းပြထားသည် - HTML စာမျက်နှာ
အသုံးပြုသူတစ်ဦးသည် အထက်ဖော်ပြပါ ရွေးချယ်မှုတစ်ခုကို ရွေးချယ်သောအခါ၊ "getVote()" ဟုခေါ်သော လုပ်ဆောင်ချက်ကို လုပ်ဆောင်သည်။ လုပ်ဆောင်ချက်ကို "onclick" ဖြစ်ရပ်ဖြင့် အစပျိုးသည်-
<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 object တစ်ခုကို ဖန်တီးပါ။
- ဆာဗာတုံ့ပြန်မှု အဆင်သင့်ဖြစ်သောအခါတွင် လုပ်ဆောင်ရန် လုပ်ဆောင်ချက်ကို ဖန်တီးပါ။
- တောင်းဆိုချက်ကို ဆာဗာပေါ်ရှိ ဖိုင်တစ်ခုသို့ ပေးပို့ပါ။
- URL တွင် ကန့်သတ်ချက်တစ်ခု (မဲပေးခြင်း) ကို (ဟုတ်သည် သို့မဟုတ် မဟုတ်သည့် ရွေးချယ်မှုတန်ဖိုးဖြင့်) ထည့်ထားကြောင်း သတိပြုပါ။
PHP ဖိုင်
အထက်ဖော်ပြပါ JavaScript မှခေါ်သော ဆာဗာရှိ စာမျက်နှာသည် "poll_vote.php" ဟုခေါ်သော 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>
တန်ဖိုးကို JavaScript မှ ပေးပို့ပြီး အောက်ပါအတိုင်း ဖြစ်သွားသည် ။
- "poll_result.txt" ဖိုင်၏ အကြောင်းအရာကို ရယူပါ။
- ဖိုင်၏အကြောင်းအရာကို ကိန်းရှင်များထဲတွင် ထည့်ကာ ရွေးချယ်ထားသော ကိန်းရှင်သို့ တစ်ခုထည့်ပါ။
- ရလဒ်ကို "poll_result.txt" ဖိုင်တွင် ရေးပါ။
- စစ်တမ်းရလဒ်၏ ဂရပ်ဖစ်ကိုယ်စားပြုမှုကို ထုတ်ပေးပါ။
စာသားဖိုင်
စာသားဖိုင် (poll_result.txt) သည် စစ်တမ်းမှ ဒေတာကို ကျွန်ုပ်တို့ သိမ်းဆည်းသည့် နေရာဖြစ်သည်။
၎င်းကိုဤကဲ့သို့သိမ်းဆည်းထားသည်။
0||0
ပထမနံပါတ်သည် "Yes"မဲများကိုကိုယ်စားပြုသည်၊ ဒုတိယနံပါတ်သည် "No"မဲများကိုကိုယ်စားပြုသည်။
မှတ်ချက်- သင့်ဝဘ်ဆာဗာကို စာသားဖိုင်ကို တည်းဖြတ်ခွင့်ပြုရန် မမေ့ပါနှင့်။ ဝဘ်ဆာဗာ (PHP) ကိုသာ လူတိုင်းဝင်ရောက်ခွင့် မ ပေးပါနှင့် ။