我正在构建一个使用JQuery的验证器插件来验证表单的注册页面。对于用户名,我使用了remote方法。所以这是我的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内部服务器错误”。这是它的样子:
答案 0 :(得分:3)
好的,在与你聊了一会儿之后,这就是我们发现的:
1- $ _POST应该是$ _GET,因为你正在使用jQuery.validate中的远程方法。
2-您的代码在$ link而不是$ usr_check上调用bindParam(),这在您的问题中是正确的。
另外,您的代码还需要打印出true和false的字符串。用引号括起来。