这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 扣丁学堂分享PHP+AJAX实现投****功能方法及源码示例

共1条 1/1 1 跳转至

扣丁学堂分享PHP+AJAX实现投****功能方法及源码示例

助工
2020-11-10 10:40:05     打赏

  今天给大家分享一个关于PHP开发之AJAX投****源码示例,首先在下面的实例中,我们将演示一个投****程序,通过它,投****结果在网页不进行刷新的情况下被显示。

  实例解释-HTML页面


  当用户选择上面的某个选项时,会执行名为"getVote()"的函数。该函数由"onclick"事件触发。


  poll.html文件代码如下:


  <html>


  <head>


  <metacharset="utf-8">


  <title>php中文网(php.cn)</title>


  <script>


  functiongetVote(int){


  if(window.XMLHttpRequest){


  //IE7+,Firefox,Chrome,Opera,Safari执行代码


  xmlhttp=newXMLHttpRequest();


  }else{


  //IE6,IE5执行代码


  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()函数会执行以下步骤:


  创建XMLHttpRequest对象


  创建在服务器响应就绪时执行的函数


  向服务器上的文件发送请求


  请注意添加到URL末端的参数(q)(包含下拉列表的内容)


  PHP文件


  上面这段通过JavaScript调用的服务器页面是名为"poll_vote.php"的PHP文件:


  <?php


  $vote=htmlspecialchars($_REQUEST['vote']);


  //获取文件中存储的数据


  $filename="poll_result.txt";


  $content=file($filename);


  //将数据分割到数组中


  $array=explode("||",$content[0]);


  $yes=$array[0];


  $no=$array[1];


  if($vote==0)


  {


  $yes=$yes+1;


  }


  if($vote==1)


  {


  $no=$no+1;


  }


  //插入投****数据


  $insertvote=$yes."||".$no;


  $fp=fopen($filename,"w");


  fputs($fp,$insertvote);


  fclose($fp);


  ?>


  <h2>结果:</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>


  当所选的值从JavaScript发送到PHP文件时,将发生:


  获取"poll_result.txt"文件的内容


  把文件内容放入变量,并向被选变量累加1


  把结果写入"poll_result.txt"文件


  输出图形化的投****结果


  文本文件(poll_result.txt)中存储来自投****程序的数据。


  它存储的数据如下所示:


  3||4


  第一个数字表示"Yes"的投****数,第二个数字表示"No"的投****数。


  注释:请记得只允许您的Web服务器来编辑该文本文件。不要让其他人获得访问权,除了Web服务器(PHP)。


  以上就是关于PHP+AJAX实现投****功能方法及源码示例的详细介绍最后想要了解更多关于PHP开发发展前景趋势,请关注扣丁学堂官网、微信等平台,扣丁学堂PHP培训IT职业在线学习教育平台为您提供权威的PHP视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的一套PHP视频教程课程,让你快速掌握PHP从入门到精通开发实战技能。扣丁学堂PHP技术交流群:374332265。



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]