jquery - forme ajax base de données vérifier la valeur unique

à l'aide de

  • jquery plugin validator
  • jquery

tenter:

  • assurez-vous un nom d'utilisateur n'existe pas dans la base de données
    • ont une forme + un terrain de + télécommande vérifiez
    • je veux vérifier à l'aide de jquery ajax si elle existe.

ce qui fonctionne:

  • check-username.php fonctionne par lui-même

ce qui n'est pas

  • forme ne semble pas être en mesure de passer à retourner une valeur booléenne pour valider la distance jquery validation
  • comment puis-je obtenir pour passer la valeur de sorte que le champ peut être validé?

HTML

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script>
    <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js" type="text/javascript"></script> 
    <script language="javascript" src="validate.js"></script>

    <meta name="generator" content="" />
    <style type="text/css"></style>
  </head>
<body>

<form action="/" method="post" id="register-form">
    <div>
        <label for="username">Username<font color="red">*</font>:</label> 
        <input type="text" name="username" size="20" id="username" />
    </div>
    <div>
        <input type="submit" name="submit" value="submit" />
    </div>
</form>
</body>
</html>

JQUERY Valider

$().ready(function() {
    //validate signup form on keyup and submit
    $("#register-form").validate({
        rules: {
            username: {
                required: true,
                remote: "check-username.php"
                },
        },
        messages: {
            username:{
                remote: "This username is already taken! Try another."
            },
        },
    });
});

Check-USERNAME.php

<?php

$searchVal = $_POST['username'];

try {
    $dbh = new PDO("mysql:host=$hostname;dbname=$data", $username, $password);

    $sql = "SELECT * FROM users WHERE USERNAME = " . "'" . $searchVal .  "'";
    $stmt = $dbh->query($sql);
    $result = $stmt->fetch(PDO::FETCH_ASSOC);

   if($result>0){
     return true;
   }else {
     return false;
   }

    $dbh = null;
    }
        catch(PDOException $e)
    {
        echo $e->getMessage();
    }       
?>
  • déplacer $dbh = null; quelques lignes vers le haut.
  • essayé, mais le terrain ne vérifie pas la db en double, la valeur saisie.
  • Qui n'est pas connecté avec votre problème, mais il vaut mieux le débrancher avant de return. Btw, je suis l'aide de ceci - code très simple pour vérifier les noms utilisés, etc.
  • j'ai regardé ça, mais de ne pas voir un exemple clair et je me demandais est-il un moyen plus simple de le faire depuis le poste a été en 2009.
  • N'avez pas l'esprit de l'année, il fonctionne assez bien. Voir ma réponse en bas.
  • vérifiez ce post pour répondre à [Jquery-validator-vérifier-pour-existant-nom d'utilisateur][1] [1]: stackoverflow.com/questions/19539115/...

InformationsquelleAutor Lacer | 2013-06-28