Bonsoir,
Voilà je sèche un peu,
J'aimerai bien que si la personne entre un nom d'utilisateur et une émail déjà utilisée, que php indique à coté de chacun des champs à l'utilisateur que nom d'utilisateur et l'email est déjà prise.
J'ai fais le test en ne prenant en compte que le nom et ça marche très bien, mais je ne vois pas comment faire en tenant compte en plus de l'émail.
Voici mes codes:
La partie index.php contenant le formulaire,
Je n'ai ici repris que le code jQuery ainsi que la requète AJAX
Et le fichier test.php qui contient la requète SQL :
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 $(function(){ $("#formid").submit(function(){ nom1 = $(this).find("input[name=nom]").val(); email1 = $(this).find("input[name=email]").val(); $.post("test.php",{nom : nom1, email : email1}, function(data){ if(data == '1'){ $("#nomID").next("#erreur").empty().append().text("Le nom est déja utilisé"); } else{ $("#nomID").next("#erreur").hide(); } }); return false; }); }); <!--Le FORMULAIRE--> <form method="post" action="#" id="formid"> Nom : <input type="text" name="nom" id="nomID" /><span id="erreur"></span><br /> email : <input type="text" name="email" id="email"/><span id="erreur"></span><br /> <input type="submit" value="Envoyer" /> </form>
Ici la requête va envoyer un nombre si il est > 0 : Alors l'utilisateur existe.
J'ai essayé de faire une autre requête dans la même logique pour l'email mais ça marche pas.
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 <?php function redirige($url) { die('<meta http-equiv="refresh" content="0;URL='.$url.'">'); } if(!isset($_POST) && empty($_POST['nom']) && empty($_POST['email'])){ redirige('index.php'); } else{ extract($_POST); include "connect.php"; $sql = $DB->query("SELECT COUNT(nom) AS '$nom' FROM info WHERE nom = '$nom'"); $nb = $sql->fetchColumn(); if($nb > 0){ echo '1'; } } ?>
Partager