Lors de l'inscription d'un client, vérifier si mail existe dans base de données
Bonjour tout le monde,
Pour mon site marchand qui vend des motos... je souhaite lors de l'inscription d'un client vérifier si le mail qu'il saisie existe ou pas dans la base car je souhaite accepter qu'une seule fois l'adresse mail.
Tout d'abord, la page HTML :
Code:
1 2 3 4 5 6 7 8 9
| <form name="client" id="client" method="POST" action="Index.php?action=enregistrer_inscription" onsubmit="return valider()">
<div id="title">INSCRIPTION</div>
<table width="600">
<tr>
<td>Mail</td>
<!-- 'type="text" permet le champ de saisit correspondant au mail du client lors de sa création -->
<td><input type="text" name="mail" onKeyUp="verifMail(this.value)" value="<?php if(isset($_POST['mail'])) echo($_POST['mail']); ?>" /></td>
</tr>
</table> |
Ensuite la page javascript ou se situe la fonction 'verifMail()' :
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 31 32 33 34
| function writediv(texte)
{
document.getElementById('mes').innerHTML = texte;
}
function verifMail(mail)
{
if(mail != '')
{
if(texte = file('contenu/verifmail.php?mail='+escape(mail)))
{
if(texte == 1)
writediv('<span style="color:#cc0000"><b>'+mail+' :</b> ce mail est deja pris</span>');
else
writediv('<span style="color:#1A7917"><b>'+mail+' :</b> ce mail est libre</span>');
}
}
}
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);
} |
Le fichier PHP (contenu/verifmail.php) :
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
| <?
/*
CE SCRIPT EST UN EXEMPLE DE SCRIPT PHP
POUR VERIFIER LA DISPONIBILITE D'UN PSEUDO
DANS UNE TABLE SQL
LE SCRIPT DOIT RETOURNER :
1 : SI LE SPEUDO EST DEJA PRIS
2 : SI LE PSEUDO EST LIBRE
*/
// CONNECION SQL
$host = "ad";
$user = "user";
$pass = "";
$name = "base";
$connexion = mysql_connect($host, $user, $pass) or die (mysql_error());
$db = mysql_select_db($name, $connexion) or die(mysql_error());
// VERIFICATION
if($db)
{
$result = mysql_query("SELECT Clt_mail FROM client WHERE Clt_mail='".$_GET["mail"]."'");
if(mysql_num_rows($result)>=1)
//echo($result);
echo "1";
else
echo "2";
}
?> |
Le problème :
Mon problème c'est que lorsque je saisit une adresse mail quelle existe ou pas dans la base de données cela m'affiche que le mail est libre.
Quelqu'un as-t'il une idée pour régler ce problème car je voit pas trop??
Merci d'avance!!
Réponse à arthuro45 et Gsnalf
Réponse à Gsnalf : Merci de me l'avoir dit, j'avais zappé.
Réponse à arthuro45 : J'ai essayé même avec les accolades c'est pareil.
Que faire??
Cordialement.