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
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
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); }
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 <?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'); } ?>
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 <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>
Merci d'avance![]()
Partager