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 php ---
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 javascript ---
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"; ?>
Si quelqu'un à une idée....
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>'+ ' ' +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>'); }
et j'ai aussi un autre blème mais un à la fois...
Merci de vos réponses
Partager