【发布时间】:2011-08-11 04:59:43
【问题描述】:
我正在尝试使用 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 值传递给该脚本。目前我有这个sn-p的代码来检查用户是否存在:
<?php
$query = mysql_query("SELECT * FROM users WHERE username='$username'");
$count = mysql_num_rows($query);
if ($count > 0) {
echo "userexists";
}
?>
我需要找到一种方法来验证用户输入并检查数据库中是否已经存在用户名和电子邮件地址。
如果用户输入的格式不正确或用户名/电子邮件地址存在,那么我需要 JavaScript 代码来添加适当的错误类和消息(如上面 JS 代码的第一部分所示)。
【问题讨论】:
标签: php javascript jquery