[AJAX] Disponibilité Pseudo en Ajax
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):
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 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");
?> |
script.js:
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 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 ============
// ------------------------------------------------------------
} |
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.
http://www.face-cachee.com/Pixel-Monster
Merci de m'aider... :)