ajax php投票记录功能,PHP 实例 AJAX 投票 | 菜鸟教程[通俗易懂]

PHP实例-AJAX投票AJAX投票在下面的实例中,我们将演示一个投票程序,通过它,投票结果在网页不进行刷新的情况下被显示。你喜欢PHP和AJAX吗?是:否:实例解释-HTML页面当用户选择上面的某个选项时,会执行名为”getVote()”的函数。该函数由”onclick”事件触发。poll.html文件代码如下:菜鸟教程(runoob.com)function…

大家好,又见面了,我是你们的朋友全栈君。

PHP 实例 – AJAX 投票

AJAX 投票

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

你喜欢 PHP 和 AJAX 吗?

是:

否:

实例解释 – HTML 页面

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

poll.html 文件代码如下:

菜鸟教程(runoob.com)

function getVote(int) {

if (window.XMLHttpRequest) {

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

xmlhttp=new XMLHttpRequest();

} else {

// 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();

}

你喜欢 PHP 和 AJAX 吗?

是:

否:

getVote() 函数会执行以下步骤:

创建 XMLHttpRequest 对象

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

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

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

PHP 文件

上面这段通过 JavaScript 调用的服务器页面是名为 “poll_vote.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);

?>

结果:

是:

<?php echo(100*round($yes/($no+$yes),2)); ?>%

否:

<?php echo(100*round($no/($no+$yes),2)); ?>%

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

获取 “poll_result.txt” 文件的内容

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

把结果写入 “poll_result.txt” 文件

输出图形化的投票结果

文本文件

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

它存储的数据如下所示:

3||4

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129001.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Tomcat常见问题解决 – The web application appears to have started a thread named [FileWatchdog]

    Tomcat常见问题解决 – The web application appears to have started a thread named [FileWatchdog]Tomcat常见问题解决 – The web application appears to have started a thread named [FileWatchdog]

    2022年4月23日
    50
  • 创业板跌跌不休

    创业板跌跌不休

    2021年7月9日
    99
  • c++ STL_鱼c

    c++ STL_鱼c学校并未教授C++,当初接触的C++的STL,也是皮毛而已。结合对Java的集合框架等内容的认识,回顾这部分内容,收获很大。文章目录概述STL六大组件简介三大组件介绍1.容器2.算法3.迭代器常用容器1.string容器string容器基本概念string容器常用操作2.vector容器vector容器基本概念vector迭代器vector的数据结构vector常用API操作…

    2022年10月16日
    0
  • spring中过滤器和拦截器_springboot拦截器顺序

    spring中过滤器和拦截器_springboot拦截器顺序拦截器与过滤器的区别:1、过滤器和拦截器触发时机不一样,过滤器是在请求进入容器后,但请求进入servlet之前进行预处理的。请求结束返回也是,是在servlet处理完后,返回给前端之前。如下图:2、拦截器可以获取IOC容器中的各个bean,而过滤器就不行,因为拦截器是spring提供并管理的,spring的功能可以被拦截器使用,在拦截器里注入一个service,可以调用业务逻辑…

    2022年8月23日
    12
  • 线程间通信的几种实现方式

    线程间通信的几种实现方式线程间通信的几种实现方式首先,要短信线程间通信的模型有两种:共享内存和消息传递,以下方式都是基本这两种模型来实现的。我们来基本一道面试常见的题目来分析:题目:有两个线程A、B,A线程向一个集合里面依次添加元素&amp;quot;abc&amp;quot;字符串,一共添加十次,当添加到第五次的时候,希望B线程能够收到A线程的通知,然后B线程执行相关的业务操作。方式一:使用volatile关键字基于volatile…

    2022年6月19日
    24
  • 圆柱体的立方米怎么计算公式_圆锥体积计算公式

    圆柱体的立方米怎么计算公式_圆锥体积计算公式2020-11-27石雕圆柱制作价格一般根据石雕圆柱的雕刻材料不同、颜色不同、大小及工艺的复杂程度价格区间一般在5000–25000元每根。坐落于福建省泉州市惠安县的腾磊石材有限公司是石材圆柱厂家,专业生产石雕圆柱。提供各式石雕圆柱加工,客户可来电方式咨询关于石雕圆柱。我国的石雕圆柱文化除了具有图腾性质和纪念性的华表、墓表…[详细]2020-12-14厂家加工石雕圆柱坐落于福建省泉州市惠安县…

    2022年9月20日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号