PHP 在这飞行!
介绍
PHP 可能被使用为很多不同的事, 和是最强有力的scripting 语言的当中一个可利用在网。不提及它是极端便宜和广泛使用。但是, PHP 缺乏的一件事, 并且多数scripting 语言是, 实际上是方式更新页在实时, 没有必须再装页或递交形式。
互联网未被做为这。浏览器关闭与网络服务器的连接当它接受了所有数据。这意味着那在这没有其他数据无法被交换之后。您若要更新虽则呢? 如果您建立PHP 应用(即一个优质美满的管理系统), 它然后会是理想的如果这有效几乎象一种当地Windows/Linux 应用。
但那要求实时更新。某事不是可能的, 或因此您会认为。运作在应用的一个好例子(几乎) 实时是Google 的GMail (
http://gmail.google.com) 。一切是Java 语言供给动力, 并且它非常强有力和动态。实际上, 这是最大的卖点GMail 的当中一个。您若能有这在您自己的PHP 网站呢? 猜测什么, 我显示您在这篇文章里。
这怎么有效?
如果您想要执行PHP 剧本, 您需要再装页, 递交形式, 或相似事。基本上, 与服务器的新连接需要被打开, 并且这意味浏览器去新页, 丢失前页。长的一会儿现在, 网开发商使用把戏避过这, 象使用1x1 iframe, 新PHP 页被装载,
但这是离理想很远的地方。
现在, 有执行一个PHP 剧本一个新方式没有必须再装页。依据在这个新方式之后是Java 语言组分称XML HTTP 请求对象。参见
http://jibbering.com/2002/4/httprequest.html 对于关于组分的更多信息。它支持在所有主要浏览器(Internet Explorer 5.5+, 徒步旅行队、Mozilla/Firefox 和歌剧7.6+) 。
以这个对象和一些风俗Java 语言作用, 您能创造一些相当印象深刻的PHP 应用。我们看第一例子, 动态地更新日期/时间。
例子1
首先, 复制代码如下和之外它在文件叫做' script.js':
var xmlhttp=false;
/*@cc_on @ */
/*@if (@_jscript_version > = 5)
//JScript 给我们条件编辑, 我们可能应付老IE 版本。
//和安全阻拦了对象的创作。
尝试{
xmlhttp = 新ActiveXObject("Msxml2.XMLHTTP");
} 抓住(e) {
尝试{
xmlhttp = 新ActiveXObject("Microsoft.XMLHTTP");
} 抓住(e) {
xmlhttp = 假;
}
}
@end @ */
如果(!xmlhttp && typeof XMLHttpRequest!='undefined ') {
xmlhttp = 新XMLHttpRequest();
}
作用loadFragmentInToElement(fragment_url, element_id) {
var 元素= document.getElementById(element_id);
element.innerHTML = ' 装货... ';
xmlhttp.open("GET", fragment_url);
xmlhttp.onreadystatechange = function() {
如果(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
element.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
然后复制代码如下, 和黏贴它在文件叫做' server1.php ':
并且终于, 复制代码如下, 和黏贴它在文件叫做' client1.php ' 。请注意虽则, 您需要编辑对server1.php 正确地点认为' http://www.yourdomain.com/server1.php ' 在您的服务器的线。
例子1
作用updatedate() {
loadFragmentInToElement('http://www.yourdomain.com/server1.php
', ' currentdate ');
}
现行数据是。
现在去
http://www.yourdomain.com/client1.php 和点击认为' 更新日期' 的按钮。日期将更新,
没有页必须被再装。这做以XML HTTP 请求对象。这个例子可能在网上并且被观看在
http://www.phpit.net/demo/php%20on%20the%20fly/client1.php 。例子2
我们尝试一个更加先进的例子。在以下例子, 访客能输入二个数字, 并且他们由PHP 加起来(和不是由JavaScript) 。这显示PHP 和XML HTTP 请求对象的真实的力量。
这个例子使用script.js 和一样在第一例子, 因此您不需要再创造这。首先, 复制代码如下和黏贴它在文件叫做' server2.php ':
并且然后, 复制代码如下, 和黏贴它在文件叫做' client2.php ' 。请注意虽则, 您需要编辑对server2.php 正确地点认为' http://www.yourdomain.com/server2.php ' 在您的服务器的线。
例子2
作用calc() {
num1 = document.getElementById (' num1').value;
num2 = document.getElementById (' num2').value;
var 元素= document.getElementById('answer ');
xmlhttp.open("GET", ' http://www.yourdomain.com/server2.php?num1 = ' + num1 + ' &num2 = ' + num2);
xmlhttp.onreadystatechange = function() {
如果(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
element.value = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
使用下面形式把二个数字加起来。答复被计算由PHP 剧本, 和不是以Java 语言。什么是好处对这? 您能执行服务器边剧本(PHP) 没有必须刷新页。
+ =
当您跑这个例子, 您能把二个数字加起来, 使用PHP 和没有再装根本! 如果您无法得到这个例子运作, 然后看一看在
http://www.phpit.net/demo/php%20on%20the%20fly/client3.php 看例子网上。
任何不利...?
有只二真正的不利对这个系统。首先, 任何人安排Java 语言被关闭, 或他们的浏览器不支持XML HTTP 请求对象不会能跑它。这意味着您将必须确信, 有非Java 语言版本,
或确定所有您的访客安排Java 语言使能(即内部网应用, 您能需要JS) 的地方。
其它不利是事实它打破书签。人们不会能按书签您的页, 如果有任一个动态内容那里。但如果您创造一种PHP 应用(和不是PHP 网站), 书签大概然后不是非常有用的无论如何。
结论
如同我显示了您, 使用二个非常简单的例子, 它整个地可能执行PHP 剧本, 没有必须刷新页。我建议您读了更多关于XML HTTP 请求对象(
http://jibbering.com/2002/4/httprequest.html) 并且它的能力。
您能做的事是不可限量的。例如,
您能创造一个极端整洁的分页系统, 不要求再装根本。或您能创造GUI 为您的PHP 应用,
表现就像Windows XP 。请考虑!
知道虽则, Java 语言必须使能使这工作。没有Java 语言这将是完全地无用的。如此确定您的访客支持Java 语言, 或创造非Java 语言版本。
关于作者
丹尼斯・Pallett 是一个年轻技术资料编写者, 以经验在ASP, PHP 和其它网技术。他喜欢书写, 和写了几个文章和讲解。发现更多他的工作, 看他的网站
http://www.phpit.net http://www.aspit.net 和
http://www.ezfaqs.comdennispallett@gmail.com
文章来源: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
网管得到HTML代码
加上这条到你的网站!
网站管理员提交你的文章
无须登记!填写好的表格和你的文章是在 Messaggiamo.Com 目录!