"); //-->
今天給大家分享一個(gè)關(guān)于PHP開發(fā)之AJAX投****源碼示例,首先在下面的實(shí)例中,我們將演示一個(gè)投****程序,通過它,投****結(jié)果在網(wǎng)頁不進(jìn)行刷新的情況下被顯示。

實(shí)例解釋-HTML頁面
當(dāng)用戶選擇上面的某個(gè)選項(xiàng)時(shí),會(huì)執(zhí)行名為"getVote()"的函數(shù)。該函數(shù)由"onclick"事件觸發(fā)。
poll.html文件代碼如下:
<html>
<head>
<metacharset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
<script>
functiongetVote(int){
if(window.XMLHttpRequest){
//IE7+,Firefox,Chrome,Opera,Safari執(zhí)行代碼
xmlhttp=newXMLHttpRequest();
}else{
//IE6,IE5執(zhí)行代碼
xmlhttp=newActiveXObject("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>
<divid="poll">
<h3>你喜歡PHP和AJAX嗎?</h3>
<form>
是:
<inputtype="radio"name="vote"value="0"onclick="getVote(this.value)">
<br>否:
<inputtype="radio"name="vote"value="1"onclick="getVote(this.value)">
</form>
</div>
</body>
</html>
getVote()函數(shù)會(huì)執(zhí)行以下步驟:
創(chuàng)建XMLHttpRequest對(duì)象
創(chuàng)建在服務(wù)器響應(yīng)就緒時(shí)執(zhí)行的函數(shù)
向服務(wù)器上的文件發(fā)送請(qǐng)求
請(qǐng)注意添加到URL末端的參數(shù)(q)(包含下拉列表的內(nèi)容)
PHP文件
上面這段通過JavaScript調(diào)用的服務(wù)器頁面是名為"poll_vote.php"的PHP文件:
<?php
$vote=htmlspecialchars($_REQUEST['vote']);
//獲取文件中存儲(chǔ)的數(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);
?>
<h2>結(jié)果:</h2>
<table>
<tr>
<td>是:</td>
<td>
<spanstyle="display:inline-block;background-color:green;
width:<?phpecho(100*round($yes/($no+$yes),2));?>px;
height:20px;"></span>
<?phpecho(100*round($yes/($no+$yes),2));?>%
</td>
</tr>
<tr>
<td>否:</td>
<td>
<spanstyle="display:inline-block;background-color:red;
width:<?phpecho(100*round($no/($no+$yes),2));?>px;
height:20px;"></span>
<?phpecho(100*round($no/($no+$yes),2));?>%
</td>
</tr>
</table>
當(dāng)所選的值從JavaScript發(fā)送到PHP文件時(shí),將發(fā)生:
獲取"poll_result.txt"文件的內(nèi)容
把文件內(nèi)容放入變量,并向被選變量累加1
把結(jié)果寫入"poll_result.txt"文件
輸出圖形化的投****結(jié)果
文本文件(poll_result.txt)中存儲(chǔ)來自投****程序的數(shù)據(jù)。
它存儲(chǔ)的數(shù)據(jù)如下所示:
3||4
第一個(gè)數(shù)字表示"Yes"的投****數(shù),第二個(gè)數(shù)字表示"No"的投****數(shù)。
注釋:請(qǐng)記得只允許您的Web服務(wù)器來編輯該文本文件。不要讓其他人獲得訪問權(quán),除了Web服務(wù)器(PHP)。
以上就是關(guān)于PHP+AJAX實(shí)現(xiàn)投****功能方法及源碼示例的詳細(xì)介紹最后想要了解更多關(guān)于PHP開發(fā)發(fā)展前景趨勢(shì),請(qǐng)關(guān)注扣丁學(xué)堂官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂PHP培訓(xùn)IT職業(yè)在線學(xué)習(xí)教育平臺(tái)為您提供權(quán)威的PHP視頻教程系統(tǒng),通過千鋒扣丁學(xué)堂金牌講師在線錄制的一套PHP視頻教程課程,讓你快速掌握PHP從入門到精通開發(fā)實(shí)戰(zhàn)技能??鄱W(xué)堂PHP技術(shù)交流群:374332265。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。
相關(guān)推薦
日經(jīng)新聞:臺(tái)積電2納米芯片生產(chǎn)線將排除中國(guó)制造設(shè)備
中國(guó)國(guó)際國(guó)防電子展覽會(huì)
觸摸式延遲燈開關(guān)電路(2)
馬來西亞推出首款本土 AI 芯片 MARS1000,采用 7 納米工藝
電感器: TDK推出適用于光收發(fā)器的緊湊型薄膜電感器
將 DC/DC 轉(zhuǎn)換器改造為高性能的全功能電池充電器
MIPS與Virage Logic共推低成本333MHz嵌入式處理器
面向 RF 應(yīng)用的低相位噪聲頻率合成器
觸摸式延遲燈開關(guān)電路(4)
Emcore推出支持多模和單模光波導(dǎo)的10GbE模塊
BiTMICRO推出具有Ultra320 SCSI固態(tài)閃存盤的模塊
納米焊膏與21世紀(jì)電路安裝技術(shù)
瑞薩推出面向下一代智能家電和表計(jì)類產(chǎn)品的超低功耗RL78/L23 MCU
高通推出全球首款全面集成RFID功能的企業(yè)級(jí)移動(dòng)處理器
單鍵觸摸式燈開關(guān)電路(2)
輸出電壓調(diào)節(jié)
英特爾Gaudi 2E AI加速器為DeepSeek-V3.1提供加速支持
臺(tái)積電2納米準(zhǔn)時(shí)報(bào)到寶山、高雄、AZ廠同步大擴(kuò)產(chǎn)
Microchip PIC24F Android 附件開發(fā)平臺(tái)
Gartner發(fā)布2025中國(guó)基礎(chǔ)設(shè)施戰(zhàn)略技術(shù)成熟度曲線
內(nèi)埋電阻技術(shù)介紹
DigiKey 啟動(dòng) Back to School 福利計(jì)劃,賦能未來創(chuàng)新者
明導(dǎo)針對(duì)USB和PCI協(xié)議推出iSolve驗(yàn)證速度適配器
撓性PCB用基板材料的新發(fā)展(1)
尼康宣布關(guān)閉橫濱工廠,精密設(shè)備業(yè)務(wù)疲軟
某大功率功放的熱設(shè)計(jì)
內(nèi)層制作與檢驗(yàn)
觸摸式延遲燈開關(guān)電路(3)
Wordsworth的無風(fēng)扇型單板機(jī)采用低功耗CPU
觸摸式延遲燈開關(guān)電路(1)