Bonjour,
Après avoir suivi une video en jquery pour vérifier si un membre existe ou non dans ma BDD, je rencontre un problème qui, je pense se situe au niveau de mon code PHP. Je pense qu'il ne parvient pas à aller dans ma BDD et compter le nombre d'entrées qui correspond à ma recherche.
Dans mon code HTML au niveau du formulaire, j'ai bien un id"username" qui lui est bien placé. Je vous donnerai quand même le code au cas ou.
Le fichier de connexion (en PDO dit en passant) ne pose pas de problème non plus, je l'utilise dans plusieurs pages.
Il se situe dans le dossier parent alors que mes fichiers sont dans un autre dossier donc j'ai bien mis ../connection.php (la n'est pas le problème quoi)
J'ai une table membres avec, entre autre, un champ pseudo.
Je vais vous donnre tous mes codes car j'ai essayé toute la journée à résoudre mon problème et en vain.
HTML:
Jquery:
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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Swap-it.com</title> </head> <body> <form action="post.php" method="post"> <label for="username">Destinataire: </label> <input type="text" id="username"/><span class="feedback"></span> </form> <script type='text/javascript' src='jquery.js'></script> <script type='text/javascript' src='func.js'></script> </body> </html>
connection.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 $(document).ready(function(){ $('#username').keyup(function(){ var username = $('#username').val(); if(username != ""){ $.post('post.php',{username:username},function(data){ $('.feedback').text('data'); }); } else { $('.feedback').text('Veuillez inscrire un membre'); } }); });
Et mon post.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php try { $bdd = new PDO('mysql:host=localhost;dbname=trocevol', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); //mysql_query("SET NAMES UTF8"); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?>
La seule chose qui me laisse perplex c'est ceci:
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 <?php include '../connection.php'; //Partie pour le jquery if(isset($_POST['username']) && !empty($_POST['username'])){ $username=$_POST['username']; $query=$bdd->query("SELECT * FROM membres WHERE pseudo ="'.$username.'" "); $rows= $query->rowCount(); if($rows == 1){ echo 'Ce membre n\' existe pas'; } else { echo 'Dispo'; } } ?>mais j'ai essayé de plusieurs manière ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part WHERE pseudo ="'.$username.'" ");
J'ai essayé de faire la même chose avec une requête préparé mais je n'ai aucun résultat non plus.
vs requête préparé:
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 <?php include '../connection.php'; //Partie pour le jquery if(isset($_POST['username']) && !empty($_POST['username'])){ $username=$_POST['username']; $query = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ?"); if ($query->execute(array($username))) { while ($rows = $query->fetch()) { if($rows == 1){ echo 'Ce membre n\' existe pas'; } else { echo 'Dispo'; } } } } ?>
Partager