1

我正在构建一个使用 JQuery 的验证器插件来验证表单的注册页面。对于用户名,我使用了远程方法。所以这是我的 jquery+html 代码:fiddle

这是Available.php:

<?php 
    $usr = $_POST['username'];
    $link = new PDO('mysql:host=***;dbname=***;charset=UTF-8','***','***');
    $usr_check = $link->prepare("SELECT * FROM Conference WHERE Username = :usr");
    $usr_check->bindParam(':usr', $usr);
    $usr_check->execute();
    if($usr_check->rowCount()>0)
        echo false;
    else
        echo true;
?>

所以我在我的数据库中有一个测试帐户,用户名是:user。当我尝试使用相同的用户名提交我的表单时,它没有显示“用户名被采用”的错误,这意味着 php 不正确。有什么想法我哪里出错了吗?谢谢

编辑:在 chrome 的检查器打开的情况下运行网站。输入用户名后,它会尝试获取 Available.php,但它显示“500 内部服务器错误”。这是它的样子: 500 错误

4

1 回答 1

3

好吧,和你聊了一会儿,我们发现如下:

1- $_POST 应该是 $_GET,因为您使用的是来自 jQuery.validate 的远程方法。

2-您的代码在 $link 而不是 $usr_check 上调用 bindParam(),这在您的问题中是正确的。

另一件事,您的代码还需要打印出真假字符串。用引号括起来。

于 2012-09-29T23:46:06.580 回答