Bonjour,
Je commence à m'intéresser au Javascript et à l'Ajax, et j'aurais besoin de votre aide précieuse.
j'ai un formulaire pour créer un employé, je veux que quand l'utilisateur renseigne un nom et un prénom, il puisse cliquer sur un bouton, qui va générer un login, et l'afficher dans un champ.
Je veux vérifier que ce login n'existe pas dans ma BDD, s'il existe, je lui ajoute un chiffre.
Mon problème, c'est qu'il ne se passe rien lorsque je clique sur le bouton générer....
voici ma page avec le code html et JS :
Voici ma page de traitement :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 <script type="text/javascript"> function request(callback) { var xhr = getXMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { callback(xhr.responseText); } }; var nom = encodeURIComponent(document.getElementById("inputFirstname").value); var prenom = encodeURIComponent(document.getElementById("inputLastname").value); var login=prenom.substring(0,1)+nom; //concatenation du nom et prénom avec juste la première lettre du prénom // envoie de la variable login a la page de traitement php avec la methode post xhr.open("POST", "esp_Rh/create_login.php", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send("login=" + login); } function readData(oData) { var nodes = oData.getElementsByTagName("item"); // récuperer les infos au format xml dans la page de traitement php document.getElementById('inputIdentifiant').value=nodes; //donner la valeur contenu dans nodes à mon input identifiant } </script> <form method="post" action="esp_Rh/addUser.php" id="formulaire"> <div class="form-row"> <div class="form-group col-md-6"> <label><b>Nom</b></label> <input type="text" class="form-control" id="inputFirstname" placeholder="Entrer le nom de l'utilisateur" name="firstname" required> </div> <div class="form-group col-md-6"> <label><b>Prénom</b></label> <input type="text" class="form-control" id="inputLastname" placeholder="Entrer le prénom de l'utilisateur" name="lastname" required> </div> </div> <div class="form-row"> <div class="form-group col-md-6"> <label><b>Email</b></label> <input type="email" class="form-control" id="inputEmail" placeholder="exemple@mail.fr" name="email"> </div> <div class="form-group col-md-6"> <label ><b>Confirmer l'Email</b></label> <input type="email" class="form-control" id="inputEmail2" placeholder="exemple@mail.fr" name="email2"> </div> </div> <div class="form-row"> <div class="form-group col-md-6"> <label><b>Mot de passe</b></label> <input type='text' class="form-control" id='res' value='' readonly="readonly" name="password" required> <input type="button" class="btn" onclick="generatepwd()" value = "generation" /> </div> <div class="form-group col-md-6"> <label><b>Identifiant</b></label> <input type="text" class="form-control" id="inputIdentifiant" value='' readonly="readonly" name="username" required> <input type="button" class="btn" onclick="request(readData);" value = "generation" /> </div> </div> </form>
Si quelqu'un a une idée.. Merci
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
35
36
37
38
39
40
41
42
43
44
45
46 <?php header("Content-Type: text/xml"); echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; echo "<list>"; $login = (isset($_POST["login"])) ? htmlentities($_POST["login"]) : NULL; function check_statut () //fonction pour vérifier que le login n'exsite pas dans la BDD { $requete = "SELECT count(*) FROM users where login = '".$login."' "; $bdd = include '../db_mysql.php'; $exec_requete = $bdd->query($requete); $reponse = $exec_requete->fetch(PDO::FETCH_ASSOC); $resultat = $reponse['count(*)']; return $resultat; } function return_login () { if($login) { //on verifie que notre variable ne soit pas vide if ($result_log !=0) // si la fonction nous retour un count différent de 0 c'est que le login existe { $login = 'patate'; // du coup ici on change le login check_statut(return_login); // ici on boucle jusqu'a ce que le login ne soit pas dans la BDD echo "<item id=\"" . $login . "\" name=\"" . $login . "\" />"; } else { echo "<item id=\"" . $login . "\" name=\"" . $login . "\" />"; } }else { echo "<item id=\" vide \" name=\"vide\" />"; } } return_login(); echo "</list>"; ?>
Partager