E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

GRAFICA 2D

RSS TUTORIALE GRAFICA 2D

GRAFICA 3D

RSS TUTORIALE GRAFICA 3D
Swift 3D (1)

Cel mai votat tutorial*:

Realizarea unei piese de sah in Swift 3D

Cel mai vizitat tutorial*:

104 afisari
Realizarea unei piese de sah in Swift 3D

WEB DESIGN

RSS TUTORIALE WEB DESIGN
Adobe Dreamweaver (7)
CSS (8)
HTML (27)

WEB DEVELOPMENT

RSS TUTORIALE WEB DEVELOPMENT

DEVELOPMENT

RSS TUTORIALE DEVELOPMENT
Java (8)
Python (5)
Verilog (1)

BAZE DE DATE

RSS TUTORIALE BAZE DE DATE
MySQL (6)

MEDIA

RSS TUTORIALE MEDIA
Fotografie (42)
Video (3)

Cel mai votat tutorial*:

Fotografia de iarna

Cel mai vizitat tutorial*:

70 afisari
Fotografia de iarna

APLICATII BUSINESS

RSS TUTORIALE APLICATII BUSINESS

APLICATII DEDICATE

RSS TUTORIALE APLICATII DEDICATE
AutoCAD (9)
Matlab (9)
SPSS (8)

SISTEME DE OPERARE

RSS TUTORIALE SISTEME DE OPERARE

DIVERSE

RSS TUTORIALE DIVERSE
Google (6)
Topul celor mai bine cotate tutoriale
Formatarea textului in MS Word 2007
Implementarea unui modul de stiri in Zend Framework. Partea I - Structura aplicatiei
Schimbarea fundalului unei fotografii in Photoshop
Desenarea unui TV retro in Adobe Ilustrator - Tutorial video
Felicitare de 8 Martie in Photoshop
Filtrarea si extragerea valorilor dintr-o coloana in MS Excel 2007 - Tutorial interactiv
Previzualizarea si printarea unui document in MS Word 2007
Crearea unui fundal pentru Twitter si uploadarea lui - Tutorial video
Fotografia de iarna
Implementarea unui modul de stiri in Zend Framework. Partea a II-a - Modelul, adaugarea si stergerea
Topul celor mai vizualizate tutoriale
Felicitare de 8 Martie in Photoshop
Filtrarea si extragerea valorilor dintr-o coloana in MS Excel 2007 - Tutorial interactiv
Procesarea parului in Photoshop - Tutorial video
Formatarea textului in MS Word 2007
Realizarea unui .gif animat in Photoshop
Previzualizarea si printarea unui document in MS Word 2007
Schimbarea fundalului unei fotografii in Photoshop
Crearea unui fundal pentru Twitter si uploadarea lui - Tutorial video
Realizarea unei piese de sah in Swift 3D
Desenarea unui TV retro in Adobe Ilustrator - Tutorial video

* Cele mai bine clasate si cele mai votate tutoriale sunt selectate dintre tutorialele adaugate in ultimele 30 de zile.

WEB DEVELOPMENT - Tutoriale

Descarca toolbar

Toolbar E-learn.ro

Urmareste-ne pe:

Facebook Twitter

WEB DEVELOPMENT

/ Javascript / Diverse (7)

Comunicarea dintre Ajax si PHP

24.07.2008
Comunicarea dintre Ajax si PHP

In acest articol voi incerca sa fac un sumar al tehnicilor de baza in comunicatia Ajax si PHP. La final, vei gasi un exemplu total functional de comunicatie Ajax - PHP.

2618 afisari 0 Rating (5 voturi) 15 min Incepator
Sursa:  www.ajaxf1.com  
Autor:  AjaxF1
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
1
comenteaza printeaza Bookmark and Share

Pasul 1 - Bazele Ajax

In acest articol se va prezenta modalitatea de crearea unei comunicatii functionale AJAX - PHP.

Singurul lucru important la acest moment este ca AJAX foloseste JavaScript, asa ca acesta va trebui validat in browserul tau pentru a putea urma cu succes acest tutorial.

Pentru a face o demonstratie de conexiune AJAX PHP vom crea un formular foarte simplu cu doua campuri de intrare. In primul camp poti introduce orice text, pe care il vom transmite secventei noastre de instructiuni PHP, care il va converti in majuscule si ni-l va trimite inapoi. La sfarsit, vom trece rezultatul in cel de-al doilea camp de intrari. ( Poate ca exemplul nu este in sine foarte util, insa consider ca este acceptabil la acest nivel. )

Asa ca, sa punem pe o lista ce avem de facut:
o Fii atent la evenimentul de apasare a tastelor din campul de intrari.
o In cazul unui asemenea eveniment, trimite un mesaj catre secventa de instructiuni PHP de pe server.
o Proceseaza intrarea cu PHP si trimite rezultatul inapoi.
o Captureaza datele returnate si afiseaza-le.

Secventa noastra html este deosebit de simpla si arata asa:

 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax - PHP example</title>
</head>
 
<body>
 
<form name="testForm">
    Input text: <input type="text"  onkeyup="doWork();"
    name="inputText" id="inputText" />
    Output text: <input type="text" name="outputText" 
    id="outputText" />
</form>
</body>
</html>

Dupa cum vezi, exista o functie doWork(), care este apelata in fiecare situatie in care o tasta se indreapta in sus (o tasta a fost apasata). Desigur, poti folosi oricare alte evenimente suportate, daca doresti.

Dar ce este aceasta doWork() si cum putem trimite mesaje catre secventa de instructiuni de pe server? Vei gasi respunsurile pe pagina urmatoare.

Pasul 2 – Trimiterea datelor catre PHP cu Ajax

Inainte de a explica functia doWork(), trebuie sa invatam mai intai un lucru mult mai important. Pentru a realiza o comunicatie intre client si server, codul de client trebuie sa creeze un asa-zis obiect XMLHttpRequest („solicitare XMLHyyp”). Acest obiect va fi responsabil pentru comunicatia AJAX PHP.

Totusi, crearea acestui obiect este un pic alunecoasa, intrucat browserul il implementeaza in diverse moduri. Daca nu doresti sa oferi suport browserele mai vechi, putem proceda astfel:

// Implement business logic
function doWork(){   
    httpObject = getHTTPObject();
    if (httpObject != null) {
        httpObject.open("GET", "upperCase.php?inputText="
            +document.getElementById('inputText').value, true);
         httpObject.send(null);
                 
    }
}

Este in regula, dar cum captam raspunsul de la server?
Pentru a face acest lucru, avem nevoie sa folosim o alta proprietate speciala a obiectului XMLHttpRequest. Putem asigna acestui parametru o functie, iar aceasta functie va fi apelata in cazul in care starea obiectului s-a modificat. Codul final este urmatorul:

// Implement business logic   
function doWork(){   
    httpObject = getHTTPObject();
    if (httpObject != null) {
         httpObject.open("GET", "upperCase.php?inputText="
             +document.getElementById('inputText').value, true);
         httpObject.send(null);
         httpObject.onreadystatechange = setOutput;
     }
}

Ultimul pas de partea clientului este implementarea functiei setOutput(), care va schimba valoarea celui de-al doilea camp al nostru. Singurul lucru interesant este acela ca trebuie sa verificam starea reala, efectiva a obiectului XMLHttpRequest. Vom avea nevoie sa schimbam valoarea campului doar daca starea sa este completa.

Proprietatea readyState poate lua urmatoarele valori:
o 0 = neinitializata
o 1 = in curs de incarcare
o 2 = incarcat
o 3 = interactiv
o 4 = complet

Deci, setOutput() arata asa:

// Change the value of the outputText field
function setOutput(){
    if(httpObject.readyState == 4){
        document.getElementById('outputText').value
            = httpObject.responseText;
    }
}

Acum, partea de client este gata. Sa implementam partea de server.

Pasul 3 – Cod PHP si exemplul complet AJAX

Implementarea partii de functionalitate a serverului este foarte simpla in comparatie cu partea de client. In codul PHP, nu avem nevoie decat sa modificam matricea super-globala $_GET. Apoi, fa-i conversia in majuscule si transmite (echo) rezultatul. Codul PHP arata astfel:

<?php
    if (isset($_GET['inputText']))
           echo strtoupper($_GET['inputText']);
?>

Este chiar scurt, nu?

In sfarsit, poti gasi codul de client si cel de server, in format complet, mai jos:

Client:

 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; 
charset=utf-8" />
<title>Ajax - PHP example</title>
</head>
  
<body>
  
<script language="javascript" type="text/javascript">
<!--
// Get the HTTP Object
function getHTTPObject(){
   if (window.ActiveXObject) return new 
   ActiveXObject("Microsoft.XMLHTTP");
   else if (window.XMLHttpRequest) return new XMLHttpRequest();
    else {
       alert("Your browser does not support AJAX.");
       return null;
    }
 }  
  
 // Change the value of the outputText field
 function setOutput(){
     if(httpObject.readyState == 4){
         document.getElementById('outputText').value =
          httpObject.responseText;
     }
  
 }
  
 // Implement business logic   
 function doWork(){   
     httpObject = getHTTPObject();
     if (httpObject != null) {
         httpObject.open("GET", "upperCase.php?inputText="
                         +document.getElementById('inputText')
                         .value, true);
         httpObject.send(null);
         httpObject.onreadystatechange = setOutput;
     }
 }
  
var httpObject = null;
  
 //-->
 </script>
  
  <form name="testForm">
      Input text: <input type="text"  onkeyup="doWork();"
       name="inputText" id="inputText" />
      Output text: <input type="text" name="outputText" 
      id="outputText" />
   </form>
 </body>
 </html>

Server:

<?php
    if (isset($_GET["inputText'"))
           echo strtoupper($_GET["inputText"]);
?>
Pagina:
1
comenteaza printeaza Bookmark and Share
Noteaza acest tutorial
Rating tutorial
 
(5 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
alext_1020
alext_1020 Expert
1110
misterio
misterio Incepator
1107
pustiu
pustiu Expert
837
alexandra
alexandra Expert
634
soshy25
soshy25 Incepator
455
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
0 UTILIZATORI NOI 0 0
adrian.dima
adrian.dima
09 Martie 2010
willy
willy
09 Martie 2010
dorotheea
dorotheea
09 Martie 2010
montextrem
montextrem
09 Martie 2010
cciipp
cciipp
09 Martie 2010
 
Paint Shop Pro MySQL XML Analiza StyleSheet CSS Fireworks Excel JSON PSD Action Script Outlook Fotografie XHTML Illustrator SEO Sony Vegas Beta HTML COREL DRAW SWF SWISHmax Word Dreamweaver Flash Javascript Photoshop AJAX 360 Powerpoint PHP
Parteneri:
www.power-point.ro - prezentari PowerPoint(pps, ppt) pentru fiecare!  DocumentareOnline.com - Lucrari  Felicitari de Craciun - Ofelicitare.ro  Ecoghid.ro  TV Online  Forum Forex  Carti electronice  Director Web  Jocuri Barbie  Jocuri Online  Super bancuri
Directoare:
Jocuri  Inscrie site  Director Romanesc  Total Top - Director Web  Director-Web.net
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
E-learn.ro
PageRank
Copyright © 2008-2010 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software
Submit Your Site SmartNetBook.ro