Bonjour,

Voilà, j'ai un script ajax qui vérifie en direct si le pseudo est déjà ou non utilisé. et tout fonctionne bien en local.

exemple pseudo existant = titanique et je ne fais appel à ajax qu'à partir du 5eme caractere donc en local,
titan, titani, titaniq, titaniqu, me renvoi 1 pour "pseudo libre" et titanique me renvoi 2 pour "pseudo pris" mais sur le site, titanique reste valable... ?

J'ai pensé à un temps de réponse trop long ?
Suis pas un pro de l'informatique mais le code fonctionne .. enfin en local...

---- Code ajax ---
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
31
32
33
function ajax(pseudo)
{
 
	var xhr = null; 
 
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else 
		if(window.ActiveXObject)
		{ // Internet Explorer 
			try { xhr = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP");}
		}
		else 
		{ // XMLHttpRequest non supporté par le navigateur 
	  	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   	xhr = false; 
		}
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { alert2_ajax(xhr);};
    //on appelle le fichier de reponse
			xhr.open("GET", "../includes/verifpseudo.php?pseudo="+escape(pseudo), true);
    xhr.send(null);		
}
 
function alert_ajax(xhr)
{
    if (xhr.readyState==4) 
    {
 
      document.getElementById('pseudobox').value = xhr.responseText;
    }
}
--- Code php ---
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<?
// VERIFICATION EN LIVE DU PSEUDO
 
$result2 = mysql_query("SELECT pseudo FROM t_users WHERE pseudo='".$_GET["pseudo"]."'");
if (mysql_num_rows($result2) >= 1)
echo "2";//"Ce pseudo est déjà utilisé";
else
echo "1";//"Ce pseudo est libre";
?>
--- code javascript ---
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
 
function verifPseudo(pseudo)
{
  ok = Valide_char(pseudo,'abcdefghijklmnopqrstuvwxyz0123456789-_');
  if (ok !="oui") return;
  if(pseudo.value != '')
  {
    if(pseudo.value.length<5)
    {
      writediv('<span style="color:#cc0000"> <b>'+ '&nbsp;&nbsp;' +pseudo.value+' :</b> ce pseudo est trop court</span>');
     document.getElementById("pseudo_temp").value = "Pseudo trop court - minimum requis = 5 caractéres";
    }
   else 
   {
     ajax(pseudo.value);
     if(document.getElementById("pseudobox").value == 2)
     {
       writediv('<span style="color:#cc0000"><b>'+pseudo.value+' :</b> ce pseudo est dejà pris</span>');
       document.getElementById("pseudo_temp").value = "Ce pseudo est déjà utilisé, veuillez en choisir un autre.";
     }
     else 
     {
       writediv('<span style="color:#1A7917"><b>'+pseudo.value+' :</b> ce pseudo est libre</span>');
       document.getElementById("pseudo_temp").value = "";
     }
  }
}
else
  writediv('<span style="color:#cc0000">&nbsp;</span>');
}
Si quelqu'un à une idée....

et j'ai aussi un autre blème mais un à la fois...

Merci de vos réponses