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;  
   ?>
Par Clouder le 11 Dec 2018
Cette pub permet au site de vivre ...

2 commentaires

Tu veux participer ?
Alors connecte toi ou inscris toi et viens participer !
Clouder
le 29 Dec 2018 à 17:55
Synetic LoOny, 

L'AJAX te permet de rendre ton (ou tes) site plus interactif avec tes utilisateurs. Exemple lorsque tu te connectes sur mon site c'est fait en AJAX afin de ne pas recharger la page tout le temps
Synetic LoOny
le 24 Dec 2018 à 17:12
Du coup je ne suis pas sûr d'avoir compris l'interet de l'ajax ?