【问题标题】:jQuery check mysql database if username is already taken如果用户名已经被占用,jQuery 检查 mysql 数据库
【发布时间】:2010-11-20 10:17:02
【问题描述】:

我知道这是可能的,但我对它的工作原理感到困惑。我一直在网上寻找它是如何完成的,我认为我在这个过程中遗漏了一些东西

到目前为止,我有这个 jQuery 代码:

$("#Contact_Info").validate({  
        rules: {
            username: {
                required: true,
                minlength: 6,
                remote: "check-username.php"
                }
            },
        messages: {
            username:{
                remote: "This username is already taken! Try another."
            }
        }
  });

我应该如何编写我的 php 页面以使其与 jQuery 代码对话?

到目前为止我有:

$name = mysql_real_escape_string($name);

$query = "SELECT USERNAME FROM T_MEMBER WHERE USERNAME='$name';";
$res = mysql_query($query);
if (mysql_num_rows($res) > 0) {
   return false;
} else
   return true; 

如何从 javascript 中获取 $name 变量?我必须将“远程”设置为 POST 吗?

提前致谢, 伊恩·麦卡洛

【问题讨论】:

    标签: jquery mysql validation


    【解决方案1】:

    您的 PHP 页面仅通过输出数据与 Javascript 进行通信。根据插件的不同,您可以通过回显 1 或 0 或什至字符串 truefalse 来实现 true/false

    手册说:

    响应被评估为 JSON,对于有效元素必须是 true,对于无效元素可以是任何 false, undefined or null

    所以你可以把你的 PHP 改成这样:

    if (mysql_num_rows($res) > 0) {
        $output = true;
    } else {
        $output = false;
    }
    echo json_encode($output);
    

    【讨论】:

      【解决方案2】:

      插件信息页面上的示例代码有一个示例,您可以在其中来回传递数据。只需点击下面的链接,然后单击“示例”选项卡即可。

      http://docs.jquery.com/Plugins/Validation/Methods/remote#options

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-24
        相关资源
        最近更新 更多