PHP代码信息

运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,不支持键盘输入语句但是拥有更高的运行速度,输出简洁明了 。 点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
证书查询页面 发布于:2021-04-18 01:13 array_multisort + trace 发布于:2021-04-15 15:35 再测试一波 发布于:2021-03-31 20:04 正则匹配网址 发布于:2021-03-28 01:17 php 数组按特定键排序 - array_multisort() 发布于:2021-03-24 15:25 php 多给数组循环赋值 - $arr[$k]['value'] 发布于:2021-03-24 15:27 简易求差集 发布于:2021-03-02 17:10 正则匹配组内 发布于:2021-03-02 13:02 解析OVI信息 发布于:2021-02-23 21:08 解析OVI信息 发布于:2021-02-23 16:24 参数作用域 发布于:2021-02-21 18:03 Static 作用域 发布于:2021-02-21 18:01 PHP global 关键字 发布于:2021-02-21 17:56 局部和全局作用域 发布于:2021-02-21 17:52 php中的注释 发布于:2021-02-21 17:25 我的第一个php 发布于:2021-02-21 17:01 exception测试 发布于:2021-02-20 16:13 后端测试代码 发布于:2021-02-07 13:53 PHP函数实战-汉诺塔递归算法 发布于:2021-02-04 21:24 PHP函数实战-PHP冒泡排序 发布于:2021-02-04 19:54 PHP匿名函数 发布于:2021-02-04 16:38 PHP递归调用 发布于:2021-02-03 01:32 PHP函数的嵌套 发布于:2021-02-03 00:41 PHP可变函数 发布于:2021-02-03 00:23 测试php的执行效率 发布于:2021-01-28 17:26 doReg-get.php 发布于:2021-01-20 00:04 秒换算为剩余天小时分秒 发布于:2021-01-19 10:56 柯里化函数的使用 发布于:2021-01-15 09:41 正则解析测试 发布于:2021-01-06 10:26 in 转sql 发布于:2021-01-05 15:45 echo var_dump 区别 - int(999) 发布于:2021-03-24 15:28 正则表达式排除单词里面的baidu 发布于:2020-12-28 18:54 php快速排序 - mt_rand() floor(count($arr)/2) array_merge() 发布于:2021-03-24 16:14 php二分查找 发布于:2021-01-03 16:24 工厂设计模式测试 发布于:2020-12-17 17:17 自定义强化 substr() 方法,以适用中文字符 发布于:2020-12-15 10:38 PHP 字符串变量 发布于:2020-12-11 14:44 PHP 常量 发布于:2020-12-11 14:38 PHP 5 数据类型 发布于:2020-12-11 14:31 斐波那契数列 发布于:2020-11-25 00:24 获取 url 参数 urlargs($str, $aname) - strstr() explode() 发布于:2021-03-24 15:42 人员人与人 发布于:2020-10-31 13:36 测试学习代码 发布于:2020-10-30 16:58 数组转换php 发布于:2020-10-28 17:02 魔术方法php 发布于:2020-10-19 20:07 echo语句 发布于:2020-10-14 15:31 网页数据处理 发布于:2020-10-14 13:47 session_destroy()的执行会销毁session_id() 发布于:2020-10-07 15:21 session_destroy()的执行会销毁session_id() 发布于:2020-09-28 09:45 网页数据处理 发布于:2020-09-17 08:49 [更多]
显示目录

实例 - AJAX 投票

PHP 实例 - AJAX 投票

本节主要是要向你展示一个投票程序,讲述了PHP+AJAX实现投票功能的方法,一起来看看!


AJAX 投票

在下面的实例中,我们将演示一个投票程序,通过它,投票结果在网页不进行刷新的情况下被显示。

Do you like PHP and AJAX so far?

Yes:
No:


实例解释 - HTML 页面

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

<html>
 <head>
 <script> function getVote(int) {
 if (window.XMLHttpRequest)
 {// code for IE7+, Firefox, Chrome, Opera, Safari
 xmlhttp=new XMLHttpRequest();
 }
 else
 {// code for IE6, IE5
 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();
 } </script>
 </head>
 <body>

 <div id="poll">
 <h3>Do you like PHP and AJAX so far?</h3>
 <form>
 Yes:
 <input type="radio" name="vote" value="0" onclick="getVote(this.value)">
 <br>No:
 <input type="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 = $_REQUEST['vote'];

 //get content of textfile
 $filename = "poll_result.txt";
 $content = file($filename);

 //put content in array
 $array = explode("||", $content[0]);
 $yes = $array[0];
 $no = $array[1];

 if ($vote == 0)
 {
 $yes = $yes + 1;
 }
 if ($vote == 1)
 {
 $no = $no + 1;
 }

 //insert votes to txt file
 $insertvote = $yes."||".$no;
 $fp = fopen($filename,"w");
 fputs($fp,$insertvote);
 fclose($fp);
 ?>

 <h2>Result:</h2>
 <table>
 <tr>
 <td>Yes:</td>
 <td>
 <img src="poll.gif"
 width='<?php echo(100*round($yes/($no+$yes),2)); ?>'
 height='20'>
 <?php echo(100*round($yes/($no+$yes),2)); ?>%
 </td>
 </tr>
 <tr>
 <td>No:</td>
 <td>
 <img src="poll.gif"
 width='<?php echo(100*round($no/($no+$yes),2)); ?>'
 height='20'>
 <?php echo(100*round($no/($no+$yes),2)); ?>%
 </td>
 </tr>
 </table>

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

  1. 获取 "poll_result.txt" 文件的内容
  2. 把文件内容放入变量,并向被选变量累加 1
  3. 把结果写入 "poll_result.txt" 文件
  4. 输出图形化的投票结果

文本文件

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

它存储的数据如下所示:

3||4

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

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

由JSRUN为你提供的PHP在线工具
        JSRUN提供的PHP在线运行,PHP 在线编译工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿

皮肤:

运行模式:

嵌入代码 iframe嵌入: