Ajax et PHP

Ajax et PHP


L'AJAX est utilisé pour créer des applications plus interactives. Cela permettra à l'utilisateur de faire plus d'interactions sans recharger sa page web à chaque fois.


AJAX PHP Exemple

L'exemple suivant que nous allons voir montre comment une page Web peut communiquer avec un serveur Web lorsqu'un utilisateur saisit des caractères dans un champ de saisie :


Pour commencer nous allons construire notre formulaire constitué d'un champ de saisie.

<html>  
   <head>  
      <title>Ajax et PHP</title> 
   </head>  
   <body>  
      <p><b>Choisissez l'hamburger que vous voulez:</b></p>  
      <form>  
         Votre choix: <input type="text"  onkeyup="resultat(this.value)">  
      </form>  
      <p>Suggestions: <span id="txt"></span></p>  
   </body>  
</html>


Ensuite nous allons écrire notre script Ajax afin de communiquer avec notre une page choisi qui est sur notre serveur.


<script>  
   function resultat(res){  
      if(res.length == 0){  
         document.getElementById("txt").innerHTML = "";  
         return;  
      }else{  
         var xmlhttp = new XMLHttpRequest();  
         xmlhttp.onreadystatechange = function(){  
            if(this.readyState == 4 && this.status == 200){  
               document.getElementById("txt").innerHTML = this.responseText;  
            }  
         };  
      xmlhttp.open("GET""getresultat.php?r="  + res,  true);  
      xmlhttp.send();  
      }  
   }  
</script>



Explication du code :

Tout d’abord, nous allons vérifier si le champ de saisie est vide (grâce à res.length == 0). Si c'est le cas, nous allons effacer le contenu de l'espace réservé txt et quittez la fonction.


Toutefois, si le champ de saisie n'est pas vide, nous allons procéder comme cela :

  • Création d'un objet XMLHttpRequest,
  • Création de la fonction à exécuter lorsque la réponse du serveur est prête (200),
  • Envoie de la requête vers un fichier PHP (getresultat.php) sur notre serveur,
  • Notez que le paramètre r est ajouté à l’URL (getresultat.php?r = " + res),
  • Et la variable res contient le contenu du champ de saisie.


Le fichier PHP - "gethresultat.php"


<?php  
   // Tableau contenant les noms des hamburgers  
   $a[] = "Cheese";  
   $a[] = "Double Cheese";  
   $a[] = "Triple Cheese";  
   $a[] = "CBO";  
   $a[] = "Big Mac";  
   $a[] = "Royal Bacon";  
   $a[] = "Royal Delux";  

   // Récupérer le paramètre r de l'URL  
   $r = $_REQUEST["r"];  
  
   $resultat = "";  
  
   // Recherche de  array if $q is different from ""  
   if ($r !== ""){  
      $r = strtolower($r);  
      $len = strlen($r);  
      foreach($a as $name){  
         if(stristr($r, substr($name, 0, $len))) {  
            if($resultat === ""){  
               $resultat = $name;  
            }else{  
               $resultat .= ", $name";  
            }  
         }  
      }  
   }  
   // S'il n'y a aucune suggestion alors on affiche un message sinon on affiche le résultat de la suggestion
   echo $resultat === "" ? "Aucune suggestion" : $resultat;  
?>
Cette pub permet au site de vivre ...
Voir d'autres articles
PHP
Faire une redirection
PHP
Informations d'une chaîne YouTube
Créer son site
Inscription en PHP
Cette pub permet au site de vivre ...