Bonsoir , j'ai encore un problème avec AJAX que j'arrive pas a résoudre.
Enfet je veux vérifier dans mon formulaire dynamique , si le pseudo n'est déja pas contenue dans la BDD.
Regardez la fonction de vérification du pseudo:
Et la page ajax_pseudo.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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 check['login'] = function() { var login = document.getElementById('login'), tooltipStyle = getTooltip(login).style; var retour = true; if (login.value.length >= 4) { login.className = 'correct'; tooltipStyle.display = 'none'; var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://poliboolold.fr/membres/ajax_pseudo.php?pseudo='+login.value , false); xhr.send(null); xhr.onreadystatechange = function() { alert("you"); if(xhr.readyState == 4) { if (xhr.responseText.length != 7) { login.className = 'correct'; tooltipStyle.display = 'none'; } else { login.className = 'incorrect'; document.getElementById('login1').innerHTML = 'Le pseudo est déja pris.'; tooltipStyle.display = 'inline-block'; retour = false; } } } } else { login.className = 'incorrect'; document.getElementById('login1').innerHTML='Le pseudo doit faire au moins 4 caractères'; tooltipStyle.display = 'inline-block'; retour = false; } return retour; };
Et maintenant testez le formulaire ici . Mettez "poliboolold" comme pseudo , cliquez sur "m'inscrire " et vous verrez que le message d'erreur ne s'affiche 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
24
25
26
27
28 <?php try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=;dbname=', '', '', $pdo_options); $req= $bdd->prepare('SELECT id FROM membres WHERE pseudo=:pseudo'); $req->execute(array('pseudo'=> $_GET['pseudo'])); $resultat= $req->fetch(); if($resultat) { echo utf8_decode("warning"); } else { echo utf8_decode("gut"); } } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?>
S'il vous plait , aidez moi , cela fait 1 semaine que j'y comprend rien.Comment y remedier?
Merci
Partager