Salut à tous,
J'ai un problème avec mon script .
Je m'explique en fait je fait une recherche de pseudo dans ma base de donnée en ajax. Et le php doit me renvoyer 1 si le pseudo existe et 0 s'il il est libre mais j'ai un problème il me renvoi toujour 0 et je ne vois pas ou est mon erreur...
Voici le code JS:
$(function()
{
$('#pseudo').keypress(function()
{
pseudo = $('#pseudo').val();
$.ajax({
type: "POST",
url:"inscris.php",
dataType : "json",
data: 'pseudo=' + pseudo,
success:function(data)
{
alert(pseudo+' '+result);
if(data == 1)
{
$('#pseudo').next('.error_inscriptions').fadeIn().text("Valide");
}
else
{
$('#pseudo').next('.error_inscriptions1').fadeIn().text("Ce pseudo et deja utiliser");
}
}
});
});
});
Et la le code Php:
<?php
require "../../config.php";
extract($_POST);
$pseudo = $_POST'pseudo'];
$test="SELECT pseudo FROM membres WHERE pseudo = '$pseudo'";
$testreq=mysql_query($test) or die (mysql_error());
if(mysql_num_rows($testreq)>0)
{
$result = $testreq'pseudo'];
echo json_encode($result);
}
else
{
echo "0";
}
Merci !!
Deja ça c'est faux:
$result = $testreq'pseudo'];
Tu fais pas de mysql_fetch_array ou object nul par donc il peut pas te retourner une valeur
Ensuite dans ton js:
alert(pseudo+' '+result);
result vient d'où? Car y a rien non plus et fait plutôt un alert de data pour voir ce qu'il te retourne
Si tu veux que ça envoie la requête des que tu quitte le champ utilise blur() plutôt que keypress() car blur fonctionne des que le champ perd le focus et keypress fonctionne quand tu appuis sur la touche
Sa marche ;)
Mais je comprend pas pourquoi quand j'ai taper le nom(qui existe dans la BDD)il faut que je fasse soit un espace soit une tabulations pour que je reçoive la requête.
Si par contre je tape le nom qui existe déjà et que je clique sur un autre champ input la requête n'est pas reçu et crois que la valeur du champ n'existe pas ...
J'ai donc fait un mouseover sur la div mais c'est dégueulasse ...
Quelqu'un saurait comment faire ?!
merci