JDN Développeurs > Client Web > Un coup d'Ajax sur votre application Web

Un coup d'Ajax sur votre application Web > 1. Vérifier un identifiant

Précédente Filtrer les données d'un formulaire 
<?php
$login=$_GET[login];

$db = mysql_pconnect('localhost', 'root', '');
mysql_select_db('test');

$req = "SELECT ID FROM users WHERE user_login LIKE '".$login."';";
$res = mysql_query($req);
$row = mysql_fetch_row($res);
if ($row) {
  echo true;
  }
else {
  echo false;
  }
?>



function handleHttpResponse() {
  if (http.readyState == 4) {
    res = http.responseText;
    if (res == true) {
      document
.getElementById('message').innerHTML = "Ce login est déjà pris. Veuillez en utiliser un autre";
      document
.getElementById('message').style.color ="red";
      }
    if (res == false) {
      document
.getElementById('message').innerHTML = "Ce login est disponible. Vous pouvez continuer";
      document
.getElementById('message').style.color ="green";
      }
    }
  }

La plupart des applications en ligne nécessitent une inscription préalable pour y accéder. Chaque inscrit étant censé disposer d'un identifiant unique, le formulaire d'inscription teste lors de sa validation si l'identifiant choisi est bien disponible.

Le cas échéant, il faut demander à l'utilisateur d'en trouver un autre. Sans Ajax, il faudra recharger l'intégralité de la page, uniquement pour changer cette section (sauf si une développeur intelligent à prévu de n'afficher que les sections fautives - mais il y a alors impossibilité pour l'utilisateur de modifier les autres champs).

Ajax apporte la solution en allant directement demander à la base de données, dès que l'utilisateur a proposé un login, si celui-ci est disponible. JavaScript affichera ensuite le message qui convient.

Le code PHP encapsule une requête SQL de type WHERE..LIKE. La chaîne renvoyée contiendra un booléen : soit true, soit false.


En ce qui concerne Javascript, la fonction handleHttpResponse() permet de tester les booléens, et modifie tant le contenu du champ vide "message", placé à côté du champ où le login est entré, que sa couleur.

Précédente Retour au sommaire Suivante 
1 | 2 | 3 | 4 | 5
 
|
Haut de page
Nos autres sites Société | Mentions légales | Contacts | Publicité | PA Emploi | Presse | Recrutement | Tous nos sites | Données personnelles
© Benchmark Group, 69/71 avenue Pierre Grenier. 92517 Boulogne Billancourt Cedex