Php Tijdens de vlucht!
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.comdennispallett@gmail.com
Artikel Bron: Messaggiamo.Com
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!