Tutorial PHP Ajax cu exemplu

Ce este Ajax?

AJAX forma completฤƒ este asincronฤƒ JavaScenariu & XML. Este o tehnologie care reduce interacศ›iunile dintre server ศ™i client. Face acest lucru actualizรขnd doar o parte a unei pagini web ศ™i nu รฎntreaga paginฤƒ. Interacศ›iunile asincrone sunt iniศ›iate de JavaScript. Scopul AJAX este de a schimba cantitฤƒศ›i mici de date cu serverul fฤƒrฤƒ reรฎmprospฤƒtare a paginii.

JavaScenariu este un limbaj de scripting pe partea clientului. Este executat pe partea client de cฤƒtre browserele web care acceptฤƒ JavaScenariul.JavaCodul de script funcศ›ioneazฤƒ numai รฎn browserele care au JavaScriptul activat.

XML este acronimul pentru Extensible Markup Language. Este folosit pentru a codifica mesaje atรขt รฎn โ€‹โ€‹formate care pot fi citite de om, cรขt ศ™i de maศ™inฤƒ. Este ca HTML, dar vฤƒ permite sฤƒ vฤƒ creaศ›i etichete personalizate. Pentru mai multe detalii despre XML, consultaศ›i articolul despre XML

De ce sฤƒ folosiศ›i AJAX?

  • Permite dezvoltareaping aplicaศ›ii web interactive bogate, la fel ca aplicaศ›iile desktop.
  • Validarea poate fi efectuatฤƒ pe mฤƒsurฤƒ ce utilizatorul completeazฤƒ un formular fฤƒrฤƒ a-l trimite. Acest lucru poate fi realizat folosind completarea automatฤƒ. Cuvintele pe care utilizatorul le introduce sunt trimise serverului pentru procesare. Serverul rฤƒspunde cu cuvinte cheie care se potrivesc cu ceea ce a introdus utilizatorul.
  • Poate fi folosit pentru a completa o casetฤƒ derulantฤƒ รฎn funcศ›ie de valoarea unei alte casete derulante
  • Datele pot fi preluate de pe server ศ™i doar o anumitฤƒ parte a paginii poate fi actualizatฤƒ fฤƒrฤƒ a รฎncฤƒrca รฎntreaga paginฤƒ. Acest lucru este foarte util pentru pฤƒrศ›ile paginii web care รฎncarcฤƒ lucruri precum
  • Tweets
  • Felicitari
  • Utilizatorii care viziteazฤƒ site-ul etc.

Cum se creeazฤƒ o aplicaศ›ie PHP Ajax

Vom crea o aplicaศ›ie simplฤƒ care permite utilizatorilor sฤƒ caute cadre populare PHP MVC.

Aplicaศ›ia noastrฤƒ va avea o casetฤƒ de text pe care utilizatorii o vor introduce รฎn numele cadrului.

Apoi vom folosi mvc AJAX pentru a cฤƒuta o potrivire, apoi vom afiศ™a numele complet al cadrului chiar sub formularul de cฤƒutare.

Pasul 1) Crearea paginii de index

index.php

<html>

    <head>

        <title>PHP MVC Frameworks - Search Engine</title>

        <script type="text/javascript" src="auto_complete.js"></script>

    </head>

    <body>

        <h2>PHP MVC Frameworks - Search Engine</h2>

        <p><b>Type the first letter of the PHP MVC Framework</b></p>

        <form method="POST" action="index.php">

            <p><input type="text" size="40" id="txtHint"  onkeyup="showName(this.value)"></p>

        </form>

        <p>Matches: <span id="txtName"></span></p>

    </body>

</html>

AICI,

  • โ€žonkeyup="showName(this.value)โ€โ€ executฤƒ JavaFuncศ›ia de script showName de fiecare datฤƒ cรขnd o tastฤƒ este introdusฤƒ รฎn caseta de text. Aceastฤƒ caracteristicฤƒ se numeศ™te completare automatฤƒ

Pasul 2) Crearea paginii de cadre

cadre.php

<?php

$frameworks = array("CodeIgniter","Zend Framework","Cake PHP","Kohana") ;

$name = $_GET["name"];

if (strlen($name) > 0) {

    $match = "";

    for ($i = 0; $i < count($frameworks); $i++) {

        if (strtolower($name) == strtolower(substr($frameworks[$i], 0, strlen($name)))) {

            if ($match == "") {

                $match = $frameworks[$i];

            } else {

                $match = $match . " , " . $frameworks[$i];

            }

        }

    }

}

echo ($match == "") ? 'no match found' : $match;

?>

Pasul 3) Crearea scriptului JS

auto_complete.js

function showName(str){

    if (str.length == 0){ //exit function if nothing has been typed in the textbox

        document.getElementById("txtName").innerHTML=""; //clear previous results

        return;

    }

    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari

        xmlhttp=new XMLHttpRequest();

    } else {// code for IE6, IE5

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

    }

    xmlhttp.onreadystatechange=function() {

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

            document.getElementById("txtName").innerHTML=xmlhttp.responseText;

        }

    }

    xmlhttp.open("GET","frameworks.php?name="+str,true);

    xmlhttp.send();

}

AICI,

  • โ€ždacฤƒ (lungimea str. == 0)โ€ verificaศ›i lungimea ศ™irului. Dacฤƒ este 0, atunci restul scriptului nu este executat.
  • โ€ždacฤƒ (window.XMLHttpRequest)โ€ฆโ€ Internet Explorer versiunile 5 ศ™i 6 folosesc ActiveXObject pentru implementarea AJAX. Alte versiuni ศ™i browsere precum Chrome, FireFox utilizaศ›i XMLHttpRequest. Acest cod va asigura cฤƒ aplicaศ›ia noastrฤƒ funcศ›ioneazฤƒ atรขt รฎn โ€‹โ€‹IE 5 ศ™i 6, cรขt ศ™i รฎn alte versiuni รฎnalte de IE ศ™i browsere.
  • โ€žxmlhttp.onreadystatechange=functionโ€ฆโ€ verificฤƒ dacฤƒ interacศ›iunea AJAX este completฤƒ ศ™i starea este 200, apoi actualizeazฤƒ intervalul txtName cu rezultatele returnate.

Pasul 4) Testarea aplicaศ›iei noastre PHP Ajax

Presupunรขnd cฤƒ aศ›i salvat fiศ™ierul index.php รฎn phututs/ajax, navigaศ›i la URL http://localhost/phptuts/ajax/index.php

Testarea aplicaศ›iei noastre PHP Ajax

Introdu litera C รฎn caseta de text Veศ›i obศ›ine urmฤƒtoarele rezultate.

Testarea aplicaศ›iei noastre PHP Ajax

Exemplul de mai sus demonstreazฤƒ conceptul AJAX ศ™i modul รฎn care acesta ne poate ajuta sฤƒ creฤƒm aplicaศ›ii de interacศ›iune bogate.

Rezumat

  • AJAX este acronimul pentru Asynchronous JavaScenariu ศ™i XML
  • AJAX este o tehnologie folositฤƒ pentru a crea aplicaศ›ii de interacศ›iune bogate care reduc interacศ›iunile dintre client ศ™i server prin actualizarea doar a unor pฤƒrศ›i ale paginii web.
  • Internet Explorer versiunile 5 ศ™i 6 utilizeazฤƒ ActiveXObject pentru a implementa operaศ›iunile AJAX.
  • Internet Explorer versiunea 7 ศ™i mai sus ศ™i browserele Chrome, Firefox, Operaศ™i Safari folosesc XMLHttpRequest.

Rezumaศ›i aceastฤƒ postare cu: