Verification de l'existance d'un pseudo dans la db via ajax
Jojodebaby
Messages postés
77
Statut
Membre
-
Jojodebaby Messages postés 77 Statut Membre -
Jojodebaby Messages postés 77 Statut Membre -
slt, svp j'ai lu beaucoup de tuto mais je n'y parviens vraiment pas...
En effet je voudrais vérifier le pseudo saisie dans un formulaire avant qu'il soit posté.
cette vérification consiste à afficher "ce pseudo existe déjà" en cas de doublons ou "pseudo libre vous pouvez l'utiliser" mais je butte à chaque fois.
une explication très simple serait la plus attendue
merci de votre aide !!!
NB: je debute avec ajax donc soyer indulgent!
En effet je voudrais vérifier le pseudo saisie dans un formulaire avant qu'il soit posté.
cette vérification consiste à afficher "ce pseudo existe déjà" en cas de doublons ou "pseudo libre vous pouvez l'utiliser" mais je butte à chaque fois.
une explication très simple serait la plus attendue
merci de votre aide !!!
NB: je debute avec ajax donc soyer indulgent!
4 réponses
-
Bonjour,
Je peux t'aider pas de soucis...
Commence par nous montrer le code que tu as essayé de mettre en place.
-
Ok merci Jordane je te donne les codes c'est trois pages:
// page html qui appel la fonction verification() qui est sur le fichier traitement.js <html xmlns="[http://www.w3.org/1999/xhtml]"> <head> <meta http-equiv="Content-Type" content="text/html; charset=urf-8" /> <title>REVU SUR AJAX</title> <script type="text/javascript" src="traitement.js"></script> <link rel="stylesheet" href="revu.css" /> </head> <body><label for="nom" class="dis_form">Nom: </label><input type="text" name="nomclient" id="nomclient" abort="verification();"/> <span class="avert" id="avert1">ce nom est dejà utilisé</span><span class="avert" id="avert2"> nom valide!</span> </body> </html>
//page formulaire.php de traitement <?php header("Content-Type: text/plain"); //rechercher par critere les noms $con = mysqli_connect("localhost", "root","",'projethotel'); $nomclient=$_GET['nomclient']; $sel="SELECT NomClient FROM client WHERE NomClient = '$nomclient' "; $req=mysqli_query($con,$sel); while($tab = mysqli_fetch_assoc($req)){ if($tab[i]==$nomclient){ echo("1"); } else { echo("2"); } } mysqli_free_result($req); ?>
//page traitement.js // JavaScript Document //fonction pour desactiver les span function deactivateSpan() { var spans = document.getElementsByTagName('span'), spansLength = spans.length; for (var i = 0 ; i < spansLength ; i++) { if (spans[i].className == 'avert') { spans[i].style.display = 'none'; } } } //fonction pour activer le span correspondant //description de l'objet xhr function getXMLHttpRequest() { var xhr = null; if (window.XMLHttpRequest || window.ActiveXObject) { if (window.ActiveXObject) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { xhr = new XMLHttpRequest(); } } else { alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return null; } return xhr; } //code de la fonction de verification function verification(){ var nomclient=encodeURIComponent(document.getElementById("nomclient").value); var xhr=getXMLHttpRequest() ; xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { //traitement pour recuperation if(xhr.responseText==1){ var span=document.getElementById('avert1'); span.style.display=='inline'; } else if(xhr.responseText==2){ var span=document.getElementById('avert2'); span.style.display=='inline'; } alert(xhr.responseText.innerHTML); } }; xhr.open("GET", "formulaire.php?nomclient=" + nomclient, true); xhr.send(null); } -
Bonsoir,
Désolé pour le délai.. je n'était pas trop dispo..
Bon.. alors tu dis :
cette vérification consiste à afficher "ce pseudo existe déjà" en cas de doublons ou "pseudo libre vous pouvez l'utiliser" mais je butte à chaque fois.
OK.. sur quoi bloques tu exactement ?
Je pense que ton souci vient de ta page php....
Essayes ça :
//page formulaire.php de traitement <?php header("Content-Type: text/plain"); $result = ""; //rechercher par critere les noms $con = mysqli_connect("localhost", "root","",'projethotel'); $nomclient=isset($_GET['nomclient'])?$_GET['nomclient']:NULL; if($nomclient){ $sel="SELECT NomClient FROM client WHERE NomClient = '$nomclient' "; $req=mysqli_query($con,$sel); if($req){ $result .='1'; }else{ $result .= '2'; } }else{ $result.= "NO CLIENT !"; } mysqli_free_result($req); echo $result; ?>
Nb : Penses à utilises les outils de débogage de ton navigateur internet pour regarder ce qui se passe sur ta page... ( perso j'utilise FIREBUG .. un plugin pour FireFox).
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane -
merci je jette un coup d'oeil rapide et je te fait signe