English version
German version
Spanish version
French version
Italian version
Portuguese / Brazilian version
Dutch version
Greek version
Russian version
Japanese version
Korean version
Simplified Chinese version
Traditional Chinese version
Hindi version
Czech version
Slovak version
Bulgarian version
 

PHP 在这飞行!

软件 RSS Feed





介绍

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.nethttp://www.ezfaqs.com

dennispallett@gmail.com

文章来源: Messaggiamo.Com

Translation by Google Translator





Related:

» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker


网管得到HTML代码
加上这条到你的网站!

网站管理员提交你的文章
无须登记!填写好的表格和你的文章是在 Messaggiamo.Com 目录!

Add to Google RSS Feed See our mobile site See our desktop site Follow us on Twitter!

提交你的文章,以 Messaggiamo.Com 目录

分类


版权 2006-2011 Messaggiamo.Com - 网站地图 - Privacy - 网站管理员提交你的文章,以 Messaggiamo.Com 目录 [0.01]
Hosting by webhosting24.com
Dedicated servers sponsored by server24.eu