我正在尝试使用jQuery和PHP验证表单,它将检查是否: a)输入有效(有效的电子邮件等) b)用户名或电子邮件地址已存在
以下是 register.php 页面上的JavaScript代码:
<script language="javascript">
$(document).ready(function()
{
$("#wl-btn").click(function()
{
$("#msgbox").removeClass().addClass('messagebox').html('<div class="msg-info"> Validating form...</div>').fadeIn(1000);
$.post("check_details.php",{ username:$('#wl-username').val(),password:$('#wl-password').val(),password2:$('#wl-password2').val(),email:$('#wl-email').val(),type:$('#wl-type').val(),rand:Math.random() } ,function(data)
{
//////////// THIS IS THE CODE THAT I NEED TO ALTER TO CATER FOR CHECKING THE USERNAME AND EMAIL ADDRESS
if(data=='userexists')
{
$("#msgbox").fadeTo(200,0.1,function()
{
$(this).html('<div class="msg-error">That username has been taken! Please try another username.</div>').addClass('messageboxerror').fadeTo(900,1);
});
$("#wl-username").fadeTo(200,0.1,function()
{
$(this).addClass('input-error tiptip-bottom').fadeTo(900,1);
});
$("#wl-username-text").fadeTo(200,0.1,function()
{
$(this).text('Please choose a different username!').addClass('msg-form-error').fadeTo(900,1);
});
////////////////////////////////////////
} else if(data=='yes'){
$("#msgbox").fadeTo(200,0.1,function()
{
$(this).html('<div class="msg-ok">Registration successful! Please check your email inbox for instructions on how to activate your account...</div>').addClass('messageboxok').fadeTo(900,1);
});
} else {
$("#msgbox").fadeTo(200,0.1,function()
{
$(this).html('<div class="msg-error">Generic form error message.</div>').addClass('messageboxerror').fadeTo(900,1);
});
}
});
return false;
});
});
</script>
如您所见,它正在调用 check_details.php 并将POST值传递给该脚本。目前我已经获得了这段代码来检查用户是否存在:
<?php
$query = mysql_query("SELECT * FROM users WHERE username='$username'");
$count = mysql_num_rows($query);
if ($count > 0) {
echo "userexists";
}
?>
我需要找到一种方法来验证用户输入并检查数据库中是否已存在用户名和电子邮件地址。
如果用户输入的格式不正确或用户名/电子邮件地址存在,那么我需要JavaScript代码来添加相应的错误类和消息(如上面JS代码的第一部分所示)。
答案 0 :(得分:0)
您可以使用json进行服务器端验证(例如,用户名/电子邮件ID是否已存在)。它是最好的解决方案。你也可以查看这个帖子。