J'apprécierais toutes les suggestions pour que cela soit résolu.Exécution séquentielle des commandes en Javascript
J'utilise une fonction JS checkAvailability() pour confirmer si un groupe est disponible pour l'ajout à une base de données. (Pour certaines raisons, les contraintes de clé de base de données n'ont pas été appliquées) En faisant cela, parfois ma fonction retourne même avant de recevoir la sortie du fichier PHP.
Donc, je reçois un résultat mixte. Lorsque la sortie du fichier PHP est reçue, elle affiche le résultat correct. Mais le reste du temps ça retourne juste faux.
Des pointeurs sur la façon dont cela peut être corrigé? Le code suivant:
Merci, Vish
// fonction pour vérifier la disponibilité nomdugroupe
function checkAvailability(){
var grpname = $('#groupname').val();
var isAvailable = false
//use ajax to run the check
$.post("checkGroupName.php", { gname: grpname },
function(result){
if(Number(result) == 0){
//show that the groupname is available
isAvailable = true ;
$('#username_availability_result').html(grpname + ' is Available');
}
else{
//show that the groupname is NOT available
isAvailable = false ;
$('#username_availability_result').html(grpname + ' is already taken');
}
});
alert("isAvailable : "+isAvailable);
return isAvailable ;
}
fichier checkGroupName.php
$gname = $_POST['gname'];
$query = "SELECT * FROM groups WHERE group_name='$gname'";
$result = mysql_query($query);
if(mysql_num_rows($result)){
echo 1;
else
echo 0;
J'adore vous être en mesure d'exécuter une attaque par injection SQL sur votre application! –
pourquoi ne voulez-vous pas comparer le résultat sous forme de chaîne? if (result == '0') {... – heximal
user: Commentaire de Re @ Delan, c'est un vrai problème que vous voudrez traiter avec votre code. Plus: http://en.wikipedia.org/wiki/Sql_injection –