Php 用于实时表单验证的foreach循环
我正在尝试使用jQuery和PHP验证一个表单,该表单将检查是否: a) 输入有效(有效电子邮件等) b) 用户名或电子邮件地址已存在 下面是register.php页面上的JavaScript代码:Php 用于实时表单验证的foreach循环,php,javascript,jquery,Php,Javascript,Jquery,我正在尝试使用jQuery和PHP验证一个表单,该表单将检查是否: a) 输入有效(有效电子邮件等) b) 用户名或电子邮件地址已存在 下面是register.php页面上的JavaScript代码: <script language="javascript"> $(document).ready(function() { $("#wl-btn").click(function() { $("#msgbox").removeClass().addCla
<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>
$(文档).ready(函数()
{
$(“#wl btn”)。单击(函数()
{
$(“#msgbox”).removeClass().addClass('messagebox').html('Validating form…').fadeIn(1000);
$.post(“check#u details.php”),{username:$('.#wl username').val(),password2:$('.#wl-password2').val(),email:$('.#wl email').val(),type:$('.#wl type').val(),rand:Math.random(),函数(数据)
{
////////////这是我需要修改的代码,以便检查用户名和电子邮件地址
如果(数据=='userexists')
{
$(“#msgbox”).fadeTo(200,0.1,函数()
{
$(this.html('已使用该用户名!请尝试其他用户名。')).addClass('messageboxerror').fadeTo(900,1);
});
$(“#wl用户名”).fadeTo(200,0.1,函数()
{
$(this).addClass('input-error tiptip bottom').fadeTo(900,1);
});
$(“#wl用户名文本”).fadeTo(200,0.1,函数()
{
$(this).text('请选择其他用户名!').addClass('msg-form-error').fadeTo(900,1);
});
////////////////////////////////////////
}否则,如果(数据=='yes'){
$(“#msgbox”).fadeTo(200,0.1,函数()
{
$(this).html('注册成功!请查看您的电子邮件收件箱以了解如何激活您的帐户…')。addClass('messageboxok')。fadeTo(900,1);
});
}否则{
$(“#msgbox”).fadeTo(200,0.1,函数()
{
$(this.html('Generic form error message')).addClass('messageboxerror').fadeTo(900,1);
});
}
});
返回false;
});
});
如您所见,它正在调用check_details.php并将POST值传递给该脚本。目前,我已获得以下代码片段,以检查用户是否存在:
<?php
$query = mysql_query("SELECT * FROM users WHERE username='$username'");
$count = mysql_num_rows($query);
if ($count > 0) {
echo "userexists";
}
?>
您可以使用json进行服务器端验证(比如用户名/电子邮件id是否已经存在)。这是最好的解决办法。你也可以检查这个线程