Tutoriel PHP Ajax avec exemple
Qu'est-ce qu'Ajax ?
AJAX le formulaire complet est asynchrone Javascรฉnario & XML. Il s'agit d'une technologie qui rรฉduit les interactions entre le serveur et le client. Elle y parvient en mettant ร jour uniquement une partie d'une page Web plutรดt que la page entiรจre. Les interactions asynchrones sont initiรฉes par JavaScript. Le but d'AJAX est d'รฉchanger de petites quantitรฉs de donnรฉes avec le serveur sans actualiser la page.
Javascรฉnario est un langage de script cรดtรฉ client. Il est exรฉcutรฉ cรดtรฉ client par les navigateurs Web prenant en charge JavaScรฉnario.JavaLe code de script ne fonctionne que dans les navigateurs dotรฉs JavaScript activรฉ.
XML est l'acronyme de Extensible Markup Language. Il est utilisรฉ pour coder des messages dans des formats lisibles par l'homme et par la machine. C'est comme HTML mais vous permet de crรฉer vos balises personnalisรฉes. Pour plus de dรฉtails sur XML, consultez l'article sur XML
Pourquoi utiliser AJAX ?
- Il permet de dรฉvelopperping Des applications web riches et interactives, tout comme les applications de bureau.
- La validation peut รชtre effectuรฉe lorsque l'utilisateur remplit un formulaire sans le soumettre. Ceci peut รชtre rรฉalisรฉ en utilisant la saisie semi-automatique. Les mots saisis par l'utilisateur sont soumis au serveur pour traitement. Le serveur rรฉpond avec des mots-clรฉs qui correspondent ร ce que l'utilisateur a saisi.
- Il peut รชtre utilisรฉ pour remplir une liste dรฉroulante en fonction de la valeur d'une autre liste dรฉroulante
- Les donnรฉes peuvent รชtre rรฉcupรฉrรฉes du serveur et seule une certaine partie d'une page mise ร jour sans charger la page entiรจre. Ceci est trรจs utile pour les parties de pages Web qui chargent des รฉlรฉments tels que
- Tweets
- Commentaires
- Utilisateurs visitant le site, etc.
Comment crรฉer une application PHP Ajax
Nous allons crรฉer une application simple qui permet aux utilisateurs de rechercher des frameworks PHP MVC populaires.
Notre application aura une zone de texte dans laquelle les utilisateurs saisiront les noms du framework.
Nous utiliserons ensuite mvc AJAX pour rechercher une correspondance puis afficherons le nom complet du framework juste en dessous du formulaire de recherche.
รtape 1) Crรฉation de la page d'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>
ICI,
- "onkeyup="showName(this.value)"" exรฉcute le JavaLa fonction de script affiche le nom ร chaque fois qu'une touche est saisie dans la zone de texte. Cette fonctionnalitรฉ est appelรฉe saisie semi-automatique
รtape 2) Crรฉation de la page des frameworks
frameworks.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;
?>
รtape 3) Crรฉation du script 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();
}
ICI,
- "if (str.length == 0)" vรฉrifiez la longueur de la chaรฎne. S'il vaut 0, alors le reste du script n'est pas exรฉcutรฉ.
- ยซif (window.XMLHttpRequest)โฆยป Les versions 5 et 6 d'Internet Explorer utilisent ActiveXObject pour l'implรฉmentation AJAX. Autres versions et navigateurs tels que Chrome, FireFox utilisez XMLHttpRequest. Ce code garantira que notre application fonctionne ร la fois dans IE 5 et 6 et dans d'autres versions รฉlevรฉes d'IE et des navigateurs.
- ยซ xmlhttp.onreadystatechange=functionโฆ ยป vรฉrifie si l'interaction AJAX est terminรฉe et si l'รฉtat est 200, puis met ร jour l'รฉtendue txtName avec les rรฉsultats renvoyรฉs.
รtape 4) Tester notre application PHP Ajax
En supposant que vous ayez enregistrรฉ le fichier index.php dans phututs/ajax, accรฉdez ร URL http://localhost/phptuts/ajax/index.php
Tapez la lettre C dans la zone de texte. Vous obtiendrez les rรฉsultats suivants.
L'exemple ci-dessus dรฉmontre le concept d'AJAX et comment il peut nous aider ร crรฉer des applications d'interaction riches.
Rรฉsumรฉ
- AJAX est l'acronyme de Asynchrone Javascรฉnario et XML
- AJAX est une technologie utilisรฉe pour crรฉer des applications d'interaction riches qui rรฉduisent les interactions entre le client et le serveur en mettant ร jour uniquement certaines parties de la page Web.
- Internet Explorer versions 5 et 6 utilisent ActiveXObject pour implรฉmenter les opรฉrations AJAX.
- Internet Explorer version 7 et supรฉrieure et les navigateurs Chrome, Firefox, Operaet Safari utilise XMLHttpRequest.


