ajax的投票功能实现方法

本文介绍了实现ajax投票功能方法,供大家参考

在这个Ajax实例中,我们将演示一个投票程序,它可以在不重新加载Web页面的情况下获得结果。

这个例子包括四个元素:

(1)HTML表单

(2)Javascript

PHP页面

存储结果的文本文件

一、HTML表单

这是HTML页面,它包含一个简单的HTML表单,以及一个与Javascript文件的连接
到目前为止你喜欢PHP和ajax吗

对:
<输入类型>单选>
价值= 0 onclick=getvote(的价值)>

不:
<输入类型>单选>
价值= 1 onclick=getvote(的价值)>
示例解释- HTML表单

如您所见,上面的HTML页面包含一个简单的HTML表单,元素包含两个单选按钮。

表单的工作方式如下:

1。当用户选择是或否时

2。当事件被触发时,该getvote()函数执行

三.周围的形式被称为投票,当数据从getvote()函数返回,返回的数据将取代形式。

两。文本文件

从投票程序的数据存储在一个文本文件(poll_result .txt)。

就像这样:

0 | | 0

第一个数字是是投票,第二个数字代表否投票。

注意:请记住允许Web服务器只编辑文本文件。除了Web服务器(PHP)之外,不要让其他任何人访问。

三、Javascript

Javascript代码被存储在中并连接到HTML文档
VaR技术
功能getvote(int)
{
XMLHTTP = getxmlhttpobject()
如果(XMLHTTP = = null)
{
警报(浏览器不支持HTTP请求)
返回
}
var url =poll_vote .php
投票=+ int
url =网址+SID =+ Math.random()
XmlHttp statechanged onreadystatechange =。
XmlHttp.open(
XmlHttp.send(空)
}
statechanged()函数
{
如果(XMLHTTP。发生= 4 | | XMLHTTP readyState = =完成。)
{
document.getelementbyid(调查)。
innerHTML = xmlHttp.responseText;
}
}
getxmlhttpobject()函数
{
无功objxmlhttp = null
如果(窗口。XMLHttpRequest)
{
objxmlhttp =新的XMLHttpRequest()
}
如果(窗口。ActiveX对象)
{
objxmlhttp =新的ActiveX对象(微软。XMLHTTP )
}
返回objxmlhttp
}
示例说明:

的statechanged()和getxmlhttpobject功能是在PHP和Ajax请求相同的这部分。

GetVote()函数

当用户在HTML表单中选择是或否时,该函数被执行。

1。定义发送给服务器的URL(文件名)

2。将参数(投票)添加到URL中,其中包含参数中的输入字段的内容。

三.添加一个随机数,以防止服务器使用缓存文件。

4。打电话给getxmlhttpobject函数创建XMLHTTP对象告诉对象执行statechanged功能变化时触发

5。对于一个给定的URL打开XMLHTTP对象

6。向服务器发送HTTP请求

四,php页面

服务器页面调用的Javascript代码是一个简单的PHP文件命名为poll_vote .php。
< PHP
$投票= _request美元'vote'} {;
/ /获取内容的文本文件
为文件名=poll_result .txt;
内容=文件($文件名);
将数组中的内容放入
$array =爆炸(| |
$ =是$数组{ 0 };
$ $ $数组{ 1 };
如果(投票= 0)
{
$是的= $是+ 1;
}
如果(投票= 1)
{
$没有= NO + 1美元;
}
将选票插入txt文件
是的insertvote美元美元。=。$没有| | ;
$ FP = fopen($文件名,W);
作用是:将内容($ FP,insertvote美元);
Fclose($ FP);
>
结果:
对:

宽度=
高度= 20>
%
不:

宽度=
高度= 20>
%
示例说明:

选定的值来自Javascript,然后发生:

1。获得poll_result内容。txt文件

2。将文件的内容放入变量,并将1添加到选定的变量中。

三.将结果写入poll_result。txt文件

4。输出图形投票结果

希望本文能对大家的PHP程序设计有所帮助。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部