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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 html : Sélectionner tout - Visualiser dans une fenêtre à part
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 php : Sélectionner tout - Visualiser dans une fenêtre à part
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