Salut, je me suis mis peu à peu a l'Ajax, et je rencontre quelques problèmes... :o
Mon but est de vérifier la disponibilité d'un pseudo lors de l'inscription (A chaques carractère entré)
Mon problème, c'est que çà n'a pas l'air de fonctionner:
Inscription.php (Je ne met que le principale):
script.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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <?php include("haut.php");#------J'y inclut script.js------# echo'<br><center><b>Inscription</b></center>'; if ($_SESSION['identification'] != 'OK')## Si l'utilisateur n'est pas connecté { ##CONEXION BDD if (!$_GET['inscription'])## Premier affichage { $Sselecpseudo = mysql_query("SELECT pseudo FROM pixelmembres"); while ($selecpseudo = mysql_fetch_array($Sselecpseudo)) { $pseudodonne = strtolower($selecpseudo['pseudo']); $pseudopost = strtolower($_POST['Ipseudo']); if($pseudodonne == $pseudopost){$dispo = 'no';} } if($dispo == 'no'){$colorpseudo = 'red';}else{$colorpseudo = 'green';} echo'<br><br><br><form action="inscription.php?inscription=1" method="post"> Pseudo:<span style="margin-left:106px;"><input style="border-color: '.$colorpseudo.';" type="text" id="Ipseudo" name="Ipseudo" maxlength="25" onKeyUp="return envoiPost();" /> *</span>'; echo'<br> Mot de passe:<span style="margin-left:70px;"><input type="password" name="Imotdepasse" maxlength="25" /> *</span><br> Retapez le Mot de passe:<span style="margin-left:5px;"><input type="password" name="Iconfmotdepasse" maxlength="25" /> *</span><br> E-mail:<span style="margin-left:110px;"><input type="text" name="Iemail" maxlength="25" /></span><br> Sexe:<span style="margin-left:115px;"> <select name="Isexe"> <option value="Masculin">Masculin</option> <option value="Feminin">Feminin</option> </select> *</span><br> Couleur du pixel:<span style="margin-left:49px;"> <select name="Icouleur"> <option value="noir">Noir</option> <option value="blanc">Blanc</option> <option value="marron">Marron</option> <option value="violet">Violet</option> <option value="bleu">Bleu</option> <option value="rouge">Rouge</option> <option value="orange">Orange</option> <option value="jaune">Jaune</option> <option value="vert">Vert</option> <option value="rose">Rose</option> </select> *</span><br><br> <input style="height: 21px;" type="submit" value="Valider" /> </form>'; } } else## Sinon si l'utilisateur est connécté { echo '<br><br>Vous êtes déjà inscrit !'; } include("bas.php"); ?>
Voilà, mon problème c'est que le cadre reste vert alors qu'il devrait passer au rouge lorsque je rentre un pseudo déjà existant.
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 /** * INITIALISATION DE l'AJAX **/ function ajaxInit() { // ======================================================================================== // ============== Initialisation de la classe permettant de faire de l'AJAX =============== // ======================================================================================== if (window.XMLHttpRequest) { // Mozilla, Safari,... httpReq = new XMLHttpRequest(); if (httpReq.overrideMimeType) { httpReq.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE try { httpReq = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { httpReq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!httpReq) { alert('Cannot create XMLHTTP instance'); return false; } // ---------------------------------------------------------------------------------------- // ============ Fin Initialisation de la classe permettant de faire de l'AJAX ============= // ---------------------------------------------------------------------------------------- } /** * ENVOI DU POST EN AJAX **/ function envoiPost() { // Initialisation de l'ajax ajaxInit(); var texte = document.getElementById("Ipseudo").value; var url = "inscription.php"; var post = texte; // ================================================= // ========== Execution de la requete ============== // ================================================= httpReq.onreadystatechange = resultatPost; httpReq.open('POST', url, true); //envoi POST httpReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); httpReq.setRequestHeader("Content-length", post.length); // taille du post envoyé httpReq.setRequestHeader("Connection", "close"); httpReq.send(post); // ------------------------------------------------- // ======== Fin Execution de la requete ============ // ------------------------------------------------- return false; // empeche le rechargement de la page } /** * RESULTAT RETOURNE PAR LA REQUETE **/ function resultatPost() { // ============================================================ // ========== test sur l'execution de la requete ============== // ============================================================ if (httpReq.readyState == 4) { if (httpReq.status == 200) { var postResult = httpReq.responseText; document.getElementByTagName("body").innerHTML = postResult; // affichage du resultat } else { alert('Un problème est survenu avec la requête.'); } } // ------------------------------------------------------------ // ======== Fin test sur l'execution de la requete ============ // ------------------------------------------------------------ }
http://www.face-cachee.com/Pixel-Monster
Merci de m'aider...
Partager