[AJAX] Tester si un mail existe déjà avec XMLHttpRequest
Bonjour,
Je cherche a verifier si une adresse mail existe deja dans une base de donnée avant la validation d'une inscription.
Voici ce que j'ai trouvé mais qui ne fonctionne pas ...
Mon formulaire :
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
| function writediv(texte){
document.getElementById('pseudobox').innerHTML = texte;
}
function verifPseudo(pseudo){
if(pseudo != ''){
if(texte = file('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);
} |
Code:
1 2 3 4 5 6
| <body>
<form action="">
<input type="text" name="pseudo" id="pseudo" onKeyUp="verifPseudo(this.value)" />
<div id="pseudobox"></div>
</form>
</body> |
La page de controle :
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
| <?
// CONNECION SQL
mysql_connect("localhost","Utilisateur","Password");
mysql_select_db("nom_db");
// VERIFICATION
$result = mysql_query("SELECT ps_customer.id_customer,
ps_customer.id_shop_group,
ps_customer.id_shop,
ps_customer.id_gender,
ps_customer.company,
ps_customer.firstname,
ps_customer.lastname,
ps_customer.email,
ps_customer.passwd,
ps_customer.active,
ps_customer_group.id_customer,
ps_customer_group.id_group
FROM ps_customer, ps_customer_group
WHERE ps_customer_group.id_customer = ps_customer.id_customer
AND ps_customer.email='".$_GET["pseudo"]."'
AND ps_customer.active=1");
mysql_num_rows($result)
// AFFICHAGE RESULT
if(mysql_num_rows($result)>=1)
echo "LE PSEUDO EST DEJA PRIS";
else
echo "LE PSEUDO EST LIBRE";
?> |
Si je verifie avec firebugs j'ai une erreur 500 internal ...
Auriez-vous une idée ?
Merci pour votre aide