Vérification de pseudo

Eléphant du PHP | 424 Messages

05 mai 2009, 13:54

BOnjour à tous.
J'utilise ce script pour vérifier si un pseudo existe déja dans ma base.
<script type="text/javascript">
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", "verif_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/accepter.png" alt=""/> Ok';
      } else {
        // erreur pseudo déjà existant
        content.innerHTML='<img src="images/refuser.png" alt=""/> Déjà pris';
      }
    }
  }

  XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  XhrObj.send('p='+pseudo);

}
function testChamps(f) {
  bPseudo = false; // on va revalider le champ
  req_pseudo(f.pseudo.value);
  if (!bPseudo) {
    alert('Erreur pseudo');
    return false;
  }
}

</script>
Mon probléme est que le message Déja pris s'affiche même quand le pseudo n'est pas pris.
Avez vous une idée de l'erreur ?
Merci d'avance.
Youpi Youpi Yo !

Mammouth du PHP | 1339 Messages

05 mai 2009, 20:16

Place un alert(XhrObj.responseText); dans ton code pour voir ce que ca retourne !
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphant du PHP | 424 Messages

06 mai 2009, 11:31

Il ne se passe rien de plus en faite... aucune alerte...
Que puis je faire d'autre ?
Merci pour votre aide
Youpi Youpi Yo !

Mammouth du PHP | 1339 Messages

06 mai 2009, 13:41

Version Prototype ca donnerait :

Code : Tout sélectionner

new Ajax.Updater('pseudo_check', 'verif_pseudo.php', { method: 'post', parameters: 'pseudo='+pseudo, asynchronous: false, evalScripts: true } );
Et dans ta page verif_pseudo.php
echo ($tavariable == "ok") ? '<img src="images/accepter.png" alt=""/> Ok' : '<img src="images/refuser.png" alt=""/> Déjà pris';
Je m'entete a convertir tout le monde a Prototype
Bon sinon tu me fais un message privé et on se fait un TeamViewer