[AJAX] résultat différent en local et sur hébergeur
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:
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:
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:
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>'+ ' ' +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"> </span>');
} |
Si quelqu'un à une idée....
et j'ai aussi un autre blème mais un à la fois...
Merci de vos réponses