本文
介绍了实现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程序设计有所帮助。