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 php : Sélectionner tout - Visualiser dans une fenêtre à part
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()' :
Le fichier PHP (contenu/verifmail.php) :
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
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); }
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 <? /* 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!!
Partager