PHP - AJAX et PHP
AJAX est utilisé pour créer des applications plus interactives.
Exemple AJAX PHP
L'exemple suivant montre comment une page web peut communiquer avec un serveur web pendant qu'un utilisateur tape des caractères dans un champ de saisie :
Exemple
Commencez à taper un nom dans le champ de saisie ci-dessous :
Suggestions :
Exemple expliqué
Dans l'exemple ci-dessus, lorsque l'utilisateur tape un caractère dans le champ de saisie, une fonction appelée showHint() est exécutée.
La fonction est déclenchée par l'événement onkeyup.
Voici le code HTML :
Exemple
<html> <head> <script> function showHint(str) { if (str.length == 0) { document.getElementById("txtHint").innerHTML = ""; return; } else { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("txtHint").innerHTML = this.responseText; } }; xmlhttp.open("GET", "gethint.php?q=" + str, true); xmlhttp.send(); } } </script> </head> <body> <p><b>Commencez à taper un nom dans le champ de saisie ci-dessous :</b></p> <form action=""> <label for="fname">Prénom :</label> <input type="text" id="fname" name="fname" onkeyup="showHint(this.value)"> </form> <p>Suggestions : <span id="txtHint"></span></p> </body> </html> Explication du code :
Tout d'abord, vérifiez si le champ de saisie est vide (str.length == 0). Si c'est le cas, effacez le contenu de l'espace réservé txtHint et quittez la fonction.
Cependant, si le champ de saisie n'est pas vide, procédez comme suit :
- Créez un objet
XMLHttpRequest - Créez la fonction à exécuter lorsque la réponse du serveur est prête
- Envoyez la requête à un fichier PHP (gethint.php) sur le serveur
- Remarquez que le paramètre
qest ajouté à l'URL(gethint.php?q=" + str) - Et la variable
strcontient le contenu du champ de saisie
Le fichier PHP - "gethint.php"
Le fichier PHP vérifie un tableau de noms et renvoie le(s) nom(s) correspondant(s) au navigateur :