Bonjour,
Je cherche à vérifier si le nom saisie par un utilisateur existe déjà dans ma base de données en même temps qu'il saisie.
Pour cela j'essaye d'utiliser ajax mais malgré toutes mes recherches j'ai un peu de mal à comprendre tous le fonctionnement et à prendre des repères.
Voici comment j'ai commencé mon code :
Code Html suivi de la fonction Javascript
Problème ==> Je ne sais pas trop comment continuer mon code et transmettre ma variable "Saisie" pour l'utiliser dans ma requete
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 <form action="ActionStages/EnregistrementAdherent.php" method="post" name="FormInscription"> <!-- Informations à complété --> <label for="Nom">Nom :</label> <input type="text" name="Nom" id="Nom" onkeyup="VerifNomSQL()"/><br /> <label for="Prenom">Prénom :</label> <input type="text" name="Prenom" id="Prenom" /><br /> </form> <script language="javascript" type="text/javascript"> //-------------------------------Creation instance avec Ajax------------------------------------- //Objectif ==> Interroger le serveur sans recharger la page function VerifNomSQL() { //1.récupération des valeurs sasies var Saisie = document.FormInscription.Nom.value; //2. On creer l'instance en intérrogeant le systeme client (Id Navigateur utilisé) if (window.XMLHttpRequest) // Objet standard { xhr = new XMLHttpRequest(); // Firefox, Safari, ... } else if (window.ActiveXObject) // Internet Explorer { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } //3.Ouverture du fichier qui execute la requete xhr.open("POST", "req.php", true); //4. Gérer l'état de la connexion au serveur //===> Si 4 = ok sinon faire.... xhr.onreadystatechange = function(){ // instructions de traitement de la réponse if (xhr.readyState == 4) { // Reçu, OK alert('conect true'); } else { // Attendre... alert('en attente'); } }; } </script>
Et voici la page avec ma requête en 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 <?php // // VERIFICATION EN LIVE DU NOM // $i = 0; // CONNECION SQL require '../param.php'; // VERIFICATION $req = $bd->query('SELECT * FROM adherents WHERE Nom Like "%' .$_REQUEST["Saisie"].'%"'); while ($recup = $req->fetch()) { $_SESSION['RsInscrit'] = array( $i => array( "Login" => $recup['Login'], "Nom" => $recup['Nom'], "Prenom" => $recup['Prenom'], "Adresse" => $recup['Adresse'] . ' ' . $recup['CP'] . ' ' . $recup['Ville'] ), ); $i = $i+1; } ?>
Merci pour votre aide, je suis un peu perdue, en plus j'ai l'impression d'avoir lu plusieurs méthodes différentes et de tous mélanger.
Partager