Bonjour,
je débute avec Ajax.

Je voulais juste tester une chose ^^ j'ai donc mis un champs pseudo que l'utilisateur saisie, est dès lors qu'il quitte le champs texte (avec onblur de javascript), j'envoie une requete, qui va lire en base de données et voir si le pseudo est déjà pris. Mais dans nimporte quel cas il me retourne toujours qu'il est déjà pris.

Voici mon code :

mon fichier test.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
var bPseudo = false; // servira pour empêcher de poster le formulaire si vérification pseudo non ok
function req_pseudo(pseudo)
{
  //XMLHttpRequest est supporté par Internet Explorer 5.0+, Safari 1.2, Mozilla 1.0 / Firefox, Netscape 7
  if(document.all) var XhrObj = new ActiveXObject("Microsoft.XMLHTTP"); //Internet Explorer
  else var XhrObj = new XMLHttpRequest(); //Mozilla
 
  content = document.getElementById("pseudo_check"); 	//zone d'affichage
 
  XhrObj.open("POST", "verification_pseudo.php");
 
  //Ok pour la page cible
  XhrObj.onreadystatechange = function()
  {
    if (XhrObj.readyState == 4 && XhrObj.status == 200) {
      if (XhrObj.responseText == 'OK') {
        // ok nouveau pseudo
        content.innerHTML='<img src="images/success.png" alt=""/> Ok';
      } else {
        // erreur pseudo déjà existant
        content.innerHTML='<img src="images/stop.png" alt=""/> Déjà pris';
         }
    }
  }
 
  XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  XhrObj.send('p='+pseudo);
 
}
mon fichier verification_pseudo.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 
<?php
$pseudo = htmlentities(addslashes($_POST['p']));
if (!empty($pseudo))
{
  $res = mysql_query("select * from users where pseudo='".$pseudo."'");
  echo (($row = mysql_fetch_array($res)) ? 'FAIL' : 'OK');
}
?>
et ma page index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<html>
    <head>
    <script type='text/javascript' src='test.js'></script>
    </head>
    <body>
    <input type="text" name="pseudo" value="" onblur="req_pseudo(this.value);"> <span id="pseudo_check"></span>
    <input type="test" name="password" value="">
    </body>
</html>
Si quelqu'un à une idée
Merci d'avance