0
我有一個有效的PHP驗證註冊腳本。通過AJAX檢查數據庫中現有的數據
我現在將其轉換爲通過AJAX運行。
我可以理解根據輸入值的val來驗證表單。例如空格式和內容等
但我需要幫助檢查數據庫中是否已存在用戶名。
所以,我有這對於PHP方面:
$query = " SELECT 1 FROM users WHERE username = :username ";
$query_params = array(
':username' => $_POST['username']
);
try
{
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$row = $stmt->fetch();
if($row)
{
echo 'Username Taken';
die();
}
我已經使用AJAX別的地方我的網站上,但僅用於簡單驗證和代碼如:
$(document).ready(function(){
$(".registerform").submit(function(){
var $targetForm = $(this);
$targetForm.find(".error").remove();
$targetForm.find(".success").remove();
// If there is anything wrong with
// validation we set the check to false
var check = true;
// Get the values
var username = $('.regusername').val();
var password = $('.regemail').val();
var email = $('.regpassword').val();
var ut = response.usernameTaken;
// Username Validation
// If isername empty
if (username == '') {
check = false;
$('.regusername').css('border', 'solid 2px red');
} else {
$('.regusername').css('border', 'solid 2px green');
}
// ... goes after Validation
if (check == true) {
ShowAjaxLoader();
$.ajax({
type: "POST",
url: "process/register.php",
data: $targetForm.serialize(),
dataType: "json",
success: function(response){
if (response.databaseSuccess == true)
; // ok
else
; //error
}
});
}
return false;
});
});
任何幫助關於驗證數據庫中項目的下一步是什麼。
我打算做一個JSON返回例如
$return['emailTaken'] = true;
echo json_encode($return);
,然後檢查,在AJAX驗證,但只是......不認爲它這樣做的正確方法。
對不起,如果它真的基礎知識。只需要指向正確的方向。
要檢查用戶是否存在,請嘗試'if($ stmt-> rowCount()> 0){echo「存在「; }' –
無論你的應用程序有多「小」,你都應該考慮使用框架。也就是說,這裏有一個關於你正在創建的w/o框架的內容,可能有助於閱讀http://codebyjeff.com/blog/2013/04/how-do-i-use-ajax-with-框架-X – jmadsen