如果已经使用了用户名,则jQuery检查mysql数据库

时间:2009-08-17 22:58:28

标签: jquery mysql validation

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

到目前为止我有这个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?

提前致谢, 伊恩麦卡洛

2 个答案:

答案 0 :(得分:4)

您的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);

答案 1 :(得分:0)

插件信息页面上的示例代码有一个示例,您可以来回传递数据。只需点击下面的链接,然后点击“示例”标签。

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