繁体   English   中英

检查bvalidator是否存在用户名(jquery验证插件)

[英]check if username exists with bvalidator (jquery validation plugin)

我正在使用bvalidator(jquery验证插件)来检查数据库中是否存在用户名。 他们在其文档中有一个示例。 但是,我不知道它是如何工作的。 您可以在此处阅读有关该示例的更多信息: http : //karmela.fsb.hr/~bmauser/bvalidator/documentation.html#serversidevalidation

我尝试创建自己的。 但是,它总是告诉我无论如何都已经使用了用户名...关于AJAX,我是一个完整的新手。 我几乎不知道。 所以无论如何,这就是我到目前为止所创造的...

index.php(主页)

<script type="text/javascript">
$(document).ready(function () {
$('#register').bValidator(optionsRed);
});
function checkUsername(username) {
    $.post("checkusername.php", { username: username }, function(data) {
        if (data == 0) {
            ret = true;
        } else {
            ret = false;
        }
        return ret;
    });
}
</script>

<input type="text" name="username_register" id="textstyleid" data-bvalidator="checkUsername,required,rangelength[5:20]" data-bvalidator-msg="This username is not valid or already taken."/>

checkusername.php(检查用户名是否存在)

<?php

require '../connect.inc.php';
if (isset($_POST['username'])) {
$username = mysql_real_escape_string($_POST['username']);
if (!empty($username)) {
$username_query = mysql_query("SELECT COUNT(uid) FROM users WHERE username='$username'");
$username_result = mysql_result($username_query, 0);

if ($username_result == 0) {
return 0;
} else if ($username_result == 1) {
return 1;
}
}
}

?>

编辑我注意到404错误。 我修好了 PHP和AJAX正常工作。 根据预览中输入的文本,它给我0或1。 但是,问题仍然存在。 我认为这是因为这行代码。 我真的不明白这是什么意思。 什么是数据 ?:

if (data == 0) {
    ret = true;
} else {
    ret = false;
}
return ret;

试试这个

if (data == 0) {
    echo json_encode(TRUE);
} else {
    echo json_encode(FALSE);
}

进一步查看问题之后,问题出在您的php上,您需要在结果周围使用mysql_num_rows与返回的0个recs进行比较,如果回显了,结果对象本身将仅提供ua资源ID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM