Page 1 sur 1

mysql / PHP / AJAX: Fonction récup des valeurs dans champs

Posté : 23 janv. 2006, 18:02
par energie13
bonjour,
j'ai trouvé une fonction qui permet de controler si le pseudo renseigner dans un champ se trouve ou non dans la base mysql sans recharger la page. C'est extra déjà :)

Je souhaite compléter le script en lui demandant une fois que le pseudo est trouvé dans la base de récupérer le nom de famille correspondant au pseudo dans un autre champ texte sans avoir à recharger la base.

Voici les codes utilisés :
pages.php :

Code : Tout sélectionner

<html> <head> <title>AJAX</title> <script type="text/javascript"> function writediv(texte) { document.getElementById('pseudobox').innerHTML = texte; } function verifPseudo(pseudo) { if(pseudo != '') { if(pseudo.length<2) writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>'); else if(pseudo.length>30) writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop long</span>'); else if(texte = file('http://127.0.0.1/verifpseudo.php?pseudo='+escape(pseudo))) { if(texte == 1) writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>'); else if(texte == 2) writediv('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>'); else writediv(texte); } } } function file(fichier) { if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false); } </script> </head> <body> <form action="" name="test" id="test"> <input type="text" name="pseudo" onKeyUp="verifPseudo(this.value)" /> <div id="pseudobox"></div> </form> </body> </html>
page Vérifpseudo.php

Code : Tout sélectionner

<?php // // VERIFICATION EN LIVE DU PSEUDO // // CONNECION SQL mysql_connect("localhost", "identi", "pass"); mysql_select_db("ecoute"); // VERIFICATION $result = mysql_query("SELECT login FROM utilisateurs WHERE login='".$_GET["pseudo"]."'")or die(mysql_error()) ; if(mysql_num_rows($result)>=1) echo "1"; else echo "2"; ?>
Si quelqu'un à une idée je lui en serais tres reconnaissant
C'est assez complique (enfin pour moi)

Merci par avance

Posté : 23 janv. 2006, 18:22
par zeus
Et si, lors de la vérification du login, tu retournais soit 1 si le login n'existe pas, soit les infos que tu veux si il existe ?
// VERIFICATION
$result = mysql_query("SELECT login, nom_de_famille FROM utilisateurs WHERE login='".$_GET["pseudo"]."'")or die(mysql_error()) ;
if(mysql_num_rows($result)>=1)
//récupération du champs "nom_de_famille" dans les résultats
echo mysql_result($result, 0, "nom_de_famille");
else
echo "2";
Et dans le code de vérification :

Code : Tout sélectionner

if(texte <> 2) writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris par "+texte+"</span>'); else if(texte == 2) writediv('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>'); else writediv(texte); }

Posté : 23 janv. 2006, 18:25
par heddicmi
Je serais curieux de connaitre l'avis des grands de ce forum sur ces objets ? Ca me semble pouvoir rendre des services, mais est-ce qu'il y a des bugs, incompatibilités trop grande ou je ne sais quoi d'autre ?

Posté : 23 janv. 2006, 18:30
par zeus
Je serais curieux de connaitre l'avis des grands de ce forum sur ces objets ? Ca me semble pouvoir rendre des services, mais est-ce qu'il y a des bugs, incompatibilités trop grande ou je ne sais quoi d'autre ?
Ca sera avec plaisir mais dans un autre sujet pour ne pas mélanger les réponses dans celui çi ;)