:的jQuery - AJAX形式數據庫檢查使用</p> <ul> <li>的jQuery插件驗證</li> <li>jQuery的</li> </ul> <p>嘗試獨特的價值
- 確保用戶名不存在中數據庫
- 有一個表格+一個字段+遠程檢查
- 我想讓jquery使用ajax檢查,如果它存在。
是什麼在起作用:
- 檢查username.php本身沒有工作
什麼不
- 形式似乎並沒有被能夠傳遞返回布爾值來驗證遠程jQuery驗證
- 我怎樣才能讓它傳遞值,以便該字段可以驗證?
HTML
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js" type="text/javascript"></script>
<script language="javascript" src="validate.js"></script>
<meta name="generator" content="" />
<style type="text/css"></style>
</head>
<body>
<form action="/" method="post" id="register-form">
<div>
<label for="username">Username<font color="red">*</font>:</label>
<input type="text" name="username" size="20" id="username" />
</div>
<div>
<input type="submit" name="submit" value="submit" />
</div>
</form>
</body>
</html>
jQuery驗證
$().ready(function() {
// validate signup form on keyup and submit
$("#register-form").validate({
rules: {
username: {
required: true,
remote: "check-username.php"
},
},
messages: {
username:{
remote: "This username is already taken! Try another."
},
},
});
});
入住USERNAME.php
<?php
$searchVal = $_POST['username'];
try {
$dbh = new PDO("mysql:host=$hostname;dbname=$data", $username, $password);
$sql = "SELECT * FROM users WHERE USERNAME = " . "'" . $searchVal . "'";
$stmt = $dbh->query($sql);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if($result>0){
return true;
}else {
return false;
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
移動'$ dbh = null;'一些行向上移動。嘗試了 – pl71
,但輸入重複值時該字段不檢查數據庫。 – Lacer
這與您的問題沒有關係,但最好在'return'之前斷開連接。順便說一句,我使用[this](http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/) - 非常簡單的代碼來檢查使用名稱等 – pl71