J'utilise un formulaire d'inscription de base avec AJAX, mais le formulaire ne se connecte pas à la base de données. Je suis évidemment en train de négliger quelque chose. Voici le champ que je veux valider.Vérifier si le nom d'utilisateur est disponible avec AJAX
Username:<input type="text" name="user" id="user" maxlength="30">
<span id="msgbox" style="display:none"/></input>
Puis-je utiliser jQuery, voici le code:
$(document).ready(function() {
$("#user").blur(function() {
//remove all the class add the messagebox classes and start fading
$("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");
//check the username exists or not from ajax
$.post("user_availability.php",{ user_name:$(this).val() },
function(data) {
if(data=='no') { //if username not avaiable
$("#msgbox").fadeTo(200,0.1,function() {//start fading the messagebox
//add message and change the class of the box and start fading
$(this).html('This User name Already exists').addClass('messageboxerror').fadeTo(900,1);
});
} else {
$("#msgbox").fadeTo(200,0.1,function() { //start fading the messagebox
//add message and change the class of the box and start fading
$(this).html('Username available to register').addClass('messageboxok').fadeTo(900,1);
});
} // else
} // function
); // $.post
}); // blur
}); // ready
Et je ce code, user_availability.php
:
mysql_connect(localhost,$user,$password);
or die('There is error to connect to server:-'.mysqli_connect_error());
$db_selected = mysql_select_db($database);
$user_name=$_POST['user_name'];
$sql = "select * from members where username='$user_name'";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
$existing_users[] = $row['username'];
}
if (in_array($user_name, $existing_users))
{
echo "no"; //user name is not availble
}
else
{
echo "yes"; //user name is available
}
Je reçois aucune erreur de base de données. Le formulaire sera plus substantiel, mais je ne peux pas le faire fonctionner avec ce champ. Aucune suggestion?
Je commencerais par dépanner la page php elle-même, séparément. Ajoutez également un peu de code pour traiter les variables $ _GET, puis vérifiez que: la réponse attendue s'affiche-t-elle lorsque vous la visitez directement? –
Utilisez également Firebug (ou un outil similaire pour vérifier les paramètres de requête) pour vérifier que votre fonction javascript transmet les paramètres corrects à la page php. –
hmm ... non. le problème est ceci. Il ne se connecte pas à la base de données. Je veux dire, quand un nouvel utilisateur entre son nom d'utilisateur et il est déjà dans la base de données. Il dit toujours 'Nom d'utilisateur est disponible' ..mais la vérité est qu'il n'est pas disponible. – mayumi