博客專欄

EEPW首頁 > 博客 > PHP+AJAX實(shí)現(xiàn)投****功能方法及源碼示例

PHP+AJAX實(shí)現(xiàn)投****功能方法及源碼示例

發(fā)布人:扣丁學(xué)習(xí) 時間:2020-11-10 來源:工程師 發(fā)布文章

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

  實(shí)例解釋-HTML頁面


  當(dāng)用戶選擇上面的某個選項(xiàng)時,會執(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ù)會執(zhí)行以下步驟:


  創(chuàng)建XMLHttpRequest對象


  創(chuàng)建在服務(wù)器響應(yīng)就緒時執(zhí)行的函數(shù)


  向服務(wù)器上的文件發(fā)送請求


  請注意添加到URL末端的參數(shù)(q)(包含下拉列表的內(nèi)容)


  PHP文件


  上面這段通過JavaScript調(diào)用的服務(wù)器頁面是名為"poll_vote.php"的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);


  ?>


  <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文件時,將發(fā)生:


  獲取"poll_result.txt"文件的內(nèi)容


  把文件內(nèi)容放入變量,并向被選變量累加1


  把結(jié)果寫入"poll_result.txt"文件


  輸出圖形化的投****結(jié)果


  文本文件(poll_result.txt)中存儲來自投****程序的數(shù)據(jù)。


  它存儲的數(shù)據(jù)如下所示:


  3||4


  第一個數(shù)字表示"Yes"的投****數(shù),第二個數(shù)字表示"No"的投****數(shù)。


  注釋:請記得只允許您的Web服務(wù)器來編輯該文本文件。不要讓其他人獲得訪問權(quán),除了Web服務(wù)器(PHP)。


  以上就是關(guān)于PHP+AJAX實(shí)現(xiàn)投****功能方法及源碼示例的詳細(xì)介紹最后想要了解更多關(guān)于PHP開發(fā)發(fā)展前景趨勢,請關(guān)注扣丁學(xué)堂官網(wǎng)、微信等平臺,扣丁學(xué)堂PHP培訓(xùn)IT職業(yè)在線學(xué)習(xí)教育平臺為您提供權(quán)威的PHP視頻教程系統(tǒng),通過千鋒扣丁學(xué)堂金牌講師在線錄制的一套PHP視頻教程課程,讓你快速掌握PHP從入門到精通開發(fā)實(shí)戰(zhàn)技能??鄱W(xué)堂PHP技術(shù)交流群:374332265。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉