Javascript 通过AJAX检查数据库中的现有数据
我有一个PHP验证的工作注册脚本 我现在将其转换为通过AJAX运行 我可以根据输入的val来理解验证表单。e、 g.空白、格式和内容等 但是我需要帮助检查数据库中是否已经存在用户名 因此,对于PHP方面,我有以下内容:Javascript 通过AJAX检查数据库中的现有数据,javascript,php,jquery,ajax,validation,Javascript,Php,Jquery,Ajax,Validation,我有一个PHP验证的工作注册脚本 我现在将其转换为通过AJAX运行 我可以根据输入的val来理解验证表单。e、 g.空白、格式和内容等 但是我需要帮助检查数据库中是否已经存在用户名 因此,对于PHP方面,我有以下内容: $query = " SELECT 1 FROM users WHERE username = :username "; $query_params = array( ':username' => $_POST['usernam
$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验证中检查这一点,但是。。。不要认为这是正确的方法
对不起,如果它真的是基础知识。只需要指向正确的方向。我将返回一条错误消息,以及导致错误的字段的class/id。这样,您可以显示一条错误消息,并标记该字段,以便用户更容易看到他们需要在哪里更正某些内容
{
'errorMsg':'e-mail address already taken',
'formField': 'regemail'
}
或者类似的东西。
这也可以被封装成一个数组,这样你就可以返回多个错误(通常在大表单中有用)检查用户是否存在,尝试<代码>($STMT > ROWCONTUTE()> 0){ ECHO“存在”;}你应该真正考虑使用一个框架,不管你的应用程序有多小。这就是说,这里有一个tut,它完成了您正在创建的w/o框架,这可能有助于通读