亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Pengenalan PHP Pemula kepada Pengundian AJAX

Pengundian AJAX

Dalam contoh berikut, kami akan menunjukkan program pengundian yang melaluinya keputusan pengundian dipaparkan pada halaman web tanpa memuat semula Situasi dipaparkan

Mula-mula kita menulis fail php, kodnya adalah seperti berikut:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
<script>
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","demo.php?vote="+int,true);
  xmlhttp.send();
}
</script>
</head>
<body>

<div id="poll">
<h3>你喜歡 PHP 和 AJAX 嗎?</h3>
<form>
是:
<input type="radio" name="vote" value="0" onclick="getVote(this.value)">
<br>否:
<input type="radio" name="vote" value="1" onclick="getVote(this.value)">
</form>
</div>

</body>
</html>

Penjelasan kod:

fungsi getVote() akan melaksanakan perkara berikut langkah:

Buat objek XMLHttpRequest

Buat fungsi yang dilaksanakan apabila respons pelayan sedia

Hantar permintaan ke fail pada pelayan

Sila ambil perhatian parameter yang ditambahkan pada penghujung URL (q) (Mengandungi kandungan senarai lungsur)

Kemudian buat fail demo.php Kodnya adalah seperti berikut:

<?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>
  <span style="display: inline-block; background-color:green;
      width:<?php echo(100*round($yes/($no+$yes),2)); ?>px;
      height:20px;" ></span>
  <?php echo(100*round($yes/($no+$yes),2)); ?>%
  </td>
  </tr>
  <tr>
  <td>否:</td>
  <td>
  <span style="display: inline-block; background-color:red;
      width:<?php echo(100*round($no/($no+$yes),2)); ?>px;
      height:20px;"></span>
  <?php echo(100*round($no/($no+$yes),2)); ?>%
  </td>
  </tr>
</table>

Penjelasan kod:

Apabila nilai yang dipilih diambil daripada JavaScript Semasa menghantar ke fail PHP, perkara yang akan berlaku:

1 Dapatkan kandungan fail "poll_result.txt"

2 keputusan undian grafik

Meneruskan pembelajaran
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> <script> 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","7_2.php?vote="+int,true); xmlhttp.send(); } </script> </head> <body> <div id="poll"> <h3>你喜歡 PHP 和 AJAX 嗎?</h3> <form> 是: <input type="radio" name="vote" value="0" onclick="getVote(this.value)"> <br>否: <input type="radio" name="vote" value="1" onclick="getVote(this.value)"> </form> </div> </body> </html>