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 Tijdens de vlucht!

Software RSS Feed





Inleiding

Php kan voor heel wat verschillende dingen worden gebruikt, en is één van de krachtigste scripting talen beschikbaar op het Web. Om niet te vermelden is het uiterst goedkoop en wijd gebruikt. Nochtans, zijn één ding dat PHP niet heeft, en in feite de meeste scripting talen, zijn een manier om pagina's in real time bij te werken, zonder het moeten een pagina herladen of een vorm voorleggen.

Internet werd niet gemaakt voor dit. Webbrowser sluit de verbinding met de Webserver zodra het alle gegevens heeft ontvangen. Dit betekent dat na dit niet meer gegeven kan worden geruild. Wat als u wilt niettemin een update? Als u een PHP toepassing (b.v. een systeem van uitstekende kwaliteit van het inhoudsbeheer) bouwt, dan ideaal is it'd als het bijna als een inheemse toepassing Vensters/Linux werkte.

Maar dat vereist updates in real time. Iets die niet mogelijk, of zodat is zou u denken. Een goed voorbeeld van een toepassing die in (bijna) real time werkt is GMail van Google (http://gmail.google.com). Alles is aangedreven JavaScript, en het is zeer krachtig en dynamisch. In feite, is dit één van de grootste ver*kopen-punten van GMail. Wat als kon u dit in uw eigen PHP websites eveneens hebben? Gissing wat, ik u in dit artikel ga tonen.

Hoe werkt het?

Als u een PHP manuscript wilt uitvoeren, moet u een pagina herladen, een vorm, of gelijkaardig iets voorleggen. Fundamenteel, moet een nieuwe verbinding aan de server worden geopend, en dit betekent dat browser naar een nieuwe pagina gaat, die de vorige pagina verliest. Voor een lang tijdje nu, hebben de Webontwikkelaars trucs gebruikt rond dit te krijgen, als het gebruiken van 1x1 iframe, waar een nieuwe PHP pagina wordt geladen, maar dit is verre van ideal.

Nu, is er een nieuwe manier om een PHP manuscript uit te voeren zonder het moeten de pagina herladen. De basis achter deze nieuwe manier is een component JavaScript genoemd het Xml- Voorwerp van het HTTP- Verzoek. Zie http://jibbering.com/2002/4/httprequest.html voor meer informatie over de component. Het wordt gesteund in alle belangrijke browsers (Ontdekkingsreiziger 5,5 van Internet +, Safari, Mozilla/Firefox en Opera 7,6 +).

Met dit voorwerp en sommige douanejavaScript functies, kunt u sommige eerder indrukwekkende PHP toepassingen tot stand brengen. Bekijk een eerste voorbeeld, dat dynamisch de datum/de tijd bijwerkt.

Voorbeeld 1

Eerst, kopiëer hieronder de code en bewaar het in een dossier genoemd ' script.js ':



var xmlhttp=false;

/ * @cc_on @*/

/ * @if (@_jscript_version > = 5)

/ Geeft JScript ons Voorwaardelijke compilatie, kunnen wij aan oud het hoofd bieden D.W.Z. versies.

/ en veiligheid geblokkeerde verwezenlijking van de voorwerpen.

probeer {

xmlhttp = nieuwe ActiveXObject("Msxml2.XMLHTTP");

} vangst (e) {

probeer {

xmlhttp = nieuwe ActiveXObject("Microsoft. XMLHTTP");

} vangst (E) {

xmlhttp = vals;

}

}

@end @*/

als (!xmlhttp && typeof XMLHttpRequest!='undefined ') {

xmlhttp = nieuwe XMLHttpRequest ();

}

functie loadFragmentInToElement(fragment_url, element_id) {

var element = document.getElementById (element_id);

element.innerHTML = ' Lading... ';

xmlhttp.open("GET", fragment_url);

xmlhttp.onreadystatechange = functie () {

als (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

element.innerHTML = xmlhttp.responseText;

}

}

(ongeldig) xmlhttp.send;

}



Dan kopiëer de code hieronder, en kleef het in een dossier genoemd ' server1.php ':







En tenslotte, kopiëer de code hieronder, en kleef het in een dossier genoemd ' client1.php '. Gelieve van nota te nemen hoewel dat u de lijn moet uitgeven die ' http://www.yourdomain.com/server1.php ' aan de correcte plaats van server1.php op uw server zegt.









Voorbeeld 1





functie updatedate () {

loadFragmentInToElement('http://www.yourdomain.com/server1.php ', ' currentdate ');

}







De huidige datum is.











Ga nu naar http://www.yourdomain.com/client1.php en klik op de knoop die de ' datum van de Update ' zegt. De datum zal bijwerken, zonder de pagina die moet worden herladen. Dit wordt gedaan met het Xml- voorwerp van het HTTP- Verzoek. Dit voorbeeld kan ook online bij http://www.phpit.net/demo/php%20on%20the%20fly/client1.php worden bekeken.

Voorbeeld 2

Probeer een geavanceerder voorbeeld. In het volgende voorbeeld, kan de bezoeker twee aantallen ingaan, en zij worden opgeteld door PHP (en niet door JavaScript). Dit toont de ware macht van PHP en het Xml- Voorwerp van het HTTP- Verzoek.

Dit voorbeeld gebruikt zelfde script.js zoals in het eerste voorbeeld, zodat te hoeven u niet om dit opnieuw te creëren. Eerst, kopiëer hieronder de code en kleef het in een dossier genoemd ' server2.php ':







En toen, kopiëer de code hieronder, en kleef het in een dossier genoemd ' client2.php '. Gelieve van nota te nemen hoewel dat u de lijn moet uitgeven die ' http://www.yourdomain.com/server2.php ' aan de correcte plaats van server2.php op uw server zegt.









Voorbeeld 2





functie calc () {

num1 = document.getElementById (' num1').value;

num2 = document.getElementById (' num2').value;

var element = document.getElementById('answer ');

xmlhttp.open("GET", ' http://www.yourdomain.com/server2.php?num1 = ' + num1 + ' &num2 = ' + num2);

xmlhttp.onreadystatechange = functie () {

als (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

element.value = xmlhttp.responseText;

}

}

(ongeldig) xmlhttp.send;

}







Gebruik de onderstaande vorm om twee aantallen op te tellen. Het antwoord wordt berekend door een PHP manuscript, en niet met JavaScript. Wat is het voordeel aan dit? U kunt server-zijmanuscripten (PHP) zonder uitvoeren het moeten de pagina verfrissen.



+ =









Wanneer u dit voorbeeld in werking stelt, kunt u twee aantallen, het gebruiken van PHP en geen het herladen bij allen optellen! Als u dit voorbeeld niet kunt ertoe brengen om te werken, dan hebben een blik op http://www.phpit.net/demo/php%20on%20the%20fly/client3.php om het online voorbeeld te zien.

Om het even welke Nadelen...?

Er zijn slechts twee echte nadelen aan dit systeem. Eerst en vooral, iedereen wie uitgezette JavaScript hebben, of hun browser niet het Xml- Voorwerp van het HTTP- Verzoek niet zal kunnen steunt het in werking stellen. Dit betekent u zult moeten ervoor zorgen dat er een versie niet-javaScript is, of zorgt ervoor al uw bezoekers toegelaten JavaScript hebben (b.v. een toepassing van het Intranet, waar u JS) kunt vereisen.

Een ander nadeel is het feit dat het referenties breekt. De mensen zullen niet aan referentie uw pagina's kunnen, als er daar om het even welke dynamische inhoud in is. Maar als u een PHP toepassing (en niet een PHP website) creëert, dan zijn de referenties waarschijnlijk niet zeer nuttig hoe dan ook.

Conclusie

Aangezien ik u heb getoond, gebruikend twee zeer eenvoudige voorbeelden, is het volledig mogelijk om PHP manuscripten uit te voeren, zonder het moeten de pagina verfrissen. Ik stel voor u meer over het Xml- Voorwerp van het HTTP- Verzoek (http://jibbering.com/2002/4/httprequest.html)en zijn mogelijkheden leest.

De dingen u kunt doen zijn onbegrensd. Bijvoorbeeld, kon u een uiterst keurig het pagineren systeem tot stand brengen, vereist dat herladend helemaal niet. Of u kon een GUI voor uw PHP toepassing creëren, die zich net zoals Vensters XP gedraagt. Denk enkel over het!

Bewust ben hoewel dat JavaScript voor dit moet worden toegelaten om te werken. Zonder JavaScript zal dit volledig nutteloos zijn. Zorg zo uw bezoekerssteun JavaScript ervoor, of creëer eveneens een versie niet-javaScript.

Ongeveer de Auteur

Dennis Pallett is een jonge technologieschrijver, met veel ervaring in ASP, PHP en andere Webtechnologieën. Hij geniet van schrijvend, en verscheidene artikelen en leerprogramma's geschreven. Om meer van zijn werk te vinden, bekijk zijn websites bij http://www.phpit.net http://www.aspit.net en http://www.ezfaqs.com

dennispallett@gmail.com

Artikel Bron: Messaggiamo.Com

Translation by Google Translator





Related:

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


Webmaster krijgen html code
Voeg dit artikel aan uw website!

Webmaster verzenden van artikelen
Geen registratie vereist! Vul het formulier in en uw artikel is in de Messaggiamo.Com Directory!

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

Dien uw artikelen te Messaggiamo.Com Directory

Categorieën


Copyright 2006-2011 Messaggiamo.Com - Sitemap - Privacy - Webmaster verzenden van artikelen naar Messaggiamo.Com Directory [0.01]
Hosting by webhosting24.com
Dedicated servers sponsored by server24.eu