ajax php 投票,PHP 实例 AJAX 投票
PHP 實(shí)例 - AJAX 投票
AJAX 投票
在下面的實(shí)例中,我們將演示一個(gè)投票程序,通過它,投票結(jié)果在網(wǎng)頁不進(jìn)行刷新的情況下被顯示。
你喜歡 PHP 和 AJAX 嗎?
是:
否:
實(shí)例解釋 - HTML 頁面
當(dāng)用戶選擇上面的某個(gè)選項(xiàng)時(shí),會執(zhí)行名為 "getVote()" 的函數(shù)。該函數(shù)由 "onclick" 事件觸發(fā)。
poll.html 文件代碼如下:
jQuery中文網(wǎng)(jquerycn.cn)function getVote(int) {
if (window.XMLHttpRequest) {
// IE7+, Firefox, Chrome, Opera, Safari 執(zhí)行代碼
xmlhttp=new XMLHttpRequest();
} else {
// IE6, IE5 執(zhí)行代碼
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();
}
你喜歡 PHP 和 AJAX 嗎?
是:
否:
getVote() 函數(shù)會執(zhí)行以下步驟:
創(chuàng)建 XMLHttpRequest 對象
創(chuàng)建在服務(wù)器響應(yīng)就緒時(shí)執(zhí)行的函數(shù)
向服務(wù)器上的文件發(fā)送請求
請注意添加到 URL 末端的參數(shù)(q)(包含下拉列表的內(nèi)容)
PHP 文件
上面這段通過 JavaScript 調(diào)用的服務(wù)器頁面是名為 "poll_vote.php" 的 PHP 文件:
$vote = htmlspecialchars($_REQUEST['vote']);
// 獲取文件中存儲的數(shù)據(jù)
$filename = "poll_result.txt";
$content = file($filename);
// 將數(shù)據(jù)分割到數(shù)組中
$array = explode("||", $content[0]);
$yes = $array[0];
$no = $array[1];
if ($vote == 0)
{
$yes = $yes + 1;
}
if ($vote == 1)
{
$no = $no + 1;
}
// 插入投票數(shù)據(jù)
$insertvote = $yes."||".$no;
$fp = fopen($filename,"w");
fputs($fp,$insertvote);
fclose($fp);
?>
結(jié)果:
| 是: | <?php echo(100*round($yes/($no+$yes),2)); ?>% |
| 否: | <?php echo(100*round($no/($no+$yes),2)); ?>% |
當(dāng)所選的值從 JavaScript 發(fā)送到 PHP 文件時(shí),將發(fā)生:
獲取 "poll_result.txt" 文件的內(nèi)容
把文件內(nèi)容放入變量,并向被選變量累加 1
把結(jié)果寫入 "poll_result.txt" 文件
輸出圖形化的投票結(jié)果
文本文件
文本文件(poll_result.txt)中存儲來自投票程序的數(shù)據(jù)。
它存儲的數(shù)據(jù)如下所示:
3||4
第一個(gè)數(shù)字表示 "Yes" 的投票數(shù),第二個(gè)數(shù)字表示 "No" 的投票數(shù)。
注釋:請記得只允許您的 Web 服務(wù)器來編輯該文本文件。不要讓其他人獲得訪問權(quán),除了 Web 服務(wù)器 (PHP)。
總結(jié)
以上是生活随笔為你收集整理的ajax php 投票,PHP 实例 AJAX 投票的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光伏备案证在哪里申请(光伏备案证)
- 下一篇: php如果字符串有1 3 5,Day3-