PHP - AJAX et PHP


PHP - AJAX et PHP

AJAX est utilisé pour créer des applications plus interactives.

AJAX PHP Exemple

L'exemple suivant va montrer comment une page Web peuvent communiquer avec un serveur web alors que quelques caractères de type utilisateur dans un champ de saisie:

Exemple

Start typing a name in the input field below:
First name: 
Suggestions:


Exemple Explication - La page HTML

Quand un utilisateur tape un caractère dans le champ de saisie ci-dessus, la fonction "ShowHint ()" est exécuté. La fonction est déclenchée par l'"onkeyup" événement:
<html>
<head>
<script type="text/javascript">
function showHint(str)
{
if (str.length==0)
  {
  document.getElementById("txtHint").innerHTML="";
  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("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<p><b>Start typing a name in the input field below:</b></p>
<form>
First name: <input type="text" onkeyup="showHint(this.value)" size="20" />
</form>
<p>Suggestions: <span id="txtHint"></span></p>

</body>
</html>
Explication du code source:
Si le domaine d'entrée est vide (str.length == 0), la fonction efface le contenu de l'espace réservé txtHint et sort de la fonction.
Si le champ de saisie n'est pas vide, le ShowHint () exécute ce qui suit:
  • Créer un objet XMLHttpRequest
  • Création de la fonction à exécuter lorsque la réponse du serveur est prêt
  • Envoyer la demande hors d'un fichier sur le serveur
  • Avis qu 'un paramètre (q) est ajouté à l'URL (avec le contenu du champ de saisie)

Le fichier PHP

La page sur le serveur appelé par le code JavaScript ci-dessus est un fichier PHP appelé "gethint.php".
Le code source dans le "gethint.php" vérifie un tableau de noms, et retourne le nom correspondant (s) pour le navigateur:
<?php
// Fill up array with names
$a[]="Anna";
$a[]="Brittany";
$a[]="Cinderella";
$a[]="Diana";
$a[]="Eva";
$a[]="Fiona";
$a[]="Gunda";
$a[]="Hege";
$a[]="Inga";
$a[]="Johanna";
$a[]="Kitty";
$a[]="Linda";
$a[]="Nina";
$a[]="Ophelia";
$a[]="Petunia";
$a[]="Amanda";
$a[]="Raquel";
$a[]="Cindy";
$a[]="Doris";
$a[]="Eve";
$a[]="Evita";
$a[]="Sunniva";
$a[]="Tove";
$a[]="Unni";
$a[]="Violet";
$a[]="Liza";
$a[]="Elizabeth";
$a[]="Ellen";
$a[]="Wenche";
$a[]="Vicky";

//get the q parameter from URL
$q=$_GET["q"];

//lookup all hints from array if length of q>0
if (strlen($q) > 0)
  {
  $hint="";
  for($i=0; $i<count($a); $i++)
    {
    if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
      {
      if ($hint=="")
        {
        $hint=$a[$i];
        }
      else
        {
        $hint=$hint." , ".$a[$i];
        }
      }
    }
  }

// Set output to "no suggestion" if no hint were found
// or to the correct values
if ($hint == "")
  {
  $response="no suggestion";
  }
else
  {
  $response=$hint;
  }

//output the response
echo $response;
?>
Explication: Si il n'y a aucun texte envoyé à partir du JavaScript (strlen ($ q)> 0), ce qui suit se produit:
  1. Trouver un nom correspondant aux caractères envoyés à partir du JavaScript
  2. Si aucune correspondance n'a été trouvée, définir la chaîne de réponse à "aucune suggestion"
  3. Si un ou plusieurs noms correspondants ont été trouvés, définir la chaîne de réponse à tous ces noms
  4. La réponse est envoyée à la "txtHint" espace réservé

7 commentaires:

  1. If you wish for to get much from this paragraph then you have to
    apply these methods to your won webpage.

    Here is my web-site nail fungus zetaclear

    ReplyDelete
  2. You're so awesome! I do not believe I've read through something like this before.

    So good to discover another person with some unique thoughts on this topic.
    Seriously.. many thanks for starting this up.
    This web site is something that is required on the internet, someone with a
    little originality!

    Have a look at my blog ... zetaclear reviews

    ReplyDelete
  3. If you are going for best contents like I do, simply pay a visit this web site
    every day for the reason that it presents feature contents, thanks

    Also visit my website ... cleaning home

    ReplyDelete
  4. Thanks for the good writeup. It in reality
    was a enjoyment account it. Look complicated to more added agreeable from you!

    By the way, how can we keep up a correspondence?


    Also visit my web-site housekeepers salary

    ReplyDelete
  5. I loved as much as you will receive carried out right here.
    The sketch is attractive, your authored material stylish.
    nonetheless, you command get bought an shakiness over that you wish be delivering the following.
    unwell unquestionably come further formerly again as exactly the
    same nearly a lot often inside case you shield this increase.


    cleaning hardwood floors

    My web page: hardwood floor
    My web page: engineered hardwood floors

    ReplyDelete
  6. I do not even know how I ended up here, but I thought this post was
    good. I do not know who you are but certainly you're going to a famous blogger if you are not already ;) Cheers!

    My weblog; http://pamojanetwork.com/profile/18828

    ReplyDelete
  7. This piece of writing is genuinely a good one it helps new
    web viewers, who are wishing in favor of blogging.


    my web page - http://nopolitic.com/index.php?do=/blog/26573/provillus-side-effects-an-outline/

    ReplyDelete

HELLO VISITORS THANKS FOR YOUR VISIT AND COMMENT