ajax注册验证6,ajax注册验证和认证

我有一个注册表格,当填写完毕并且按下“注册”按钮时,js会检查它,找到空字段并检查用户名的可用性,或者电子邮件或移动号码已被通过ajax发送信息到php并接收答案。但我的js不会一直工作。这是我的JS脚本:ajax注册验证和认证

$("#reg_button").click(function(){

user = $("#usr").val();

pass = $("#psw").val();

fname = $("#first_name").val();

sname = $("#second_name").val();

dateb = $("#date_birth").val();

email = $("#email").val();

mobnum = $("#mob_num").val();

if(user == ""){

alert("First name must be filled out");

$('#usr').focus();

return false;

}else if(pass == ""){

alert("Password must be filled out");

$('#psw').focus();

return false;

}else if(fname == ""){

alert("First name must be filled out");

$('#first_name').focus();

return false;

}else if(sname == ""){

alert("Second name must be filled out");

$('#second_name').focus();

return false;

}else if(dateb == ""){

alert("Date of birth must be filled out");

$('#date_birth').focus();

return false;

}else if(email == ""){

alert("Email must be filled out");

$('#email').focus();

return false;

}else if(mobnum == ""){

alert("Mobile number must be filled out");

$('#mob_num').focus();

return false;

}else{

ajaxCheck();

}

function ajaxCheck(){

$.ajax({

type: "POST",

url: "http://imes.*********.com/php/check_info_reg.php",

data: "usr="+user+"&email="+email+"&mob_num="+mobnum,

dataType: "json",

success: function(json){

if(json.success){

var user_conf = json.data.usr;

var email_conf = json.data.email;

var mob_conf = json.data.mob;

if(user_conf == "taken"){

alert("Username already taken. Choose another one.");

$('#usr').focus();

return false;

}

if(email_conf == "taken"){

alert("Email already registered. If you lost your password, retrieve it on login page.");

$('#email').focus();

return false;

}

if(mob_conf == "taken"){

alert("Mobile number already registered. If you lost your password, retrieve it on login page.");

$('#mob_num').focus();

return false;

}

}else{

//Here could go another ajax, for actualy sending the

//info into the php script which sends it to database.

}

},

beforeSend: function() { $.mobile.showPageLoadingMsg(); }, //Show spinner

complete: function() { $.mobile.hidePageLoadingMsg() }, //Hide spinner

});

return false;

}

});

而且我的PHP:

$username = mysql_real_escape_string($_POST['usr']);

$email = mysql_real_escape_string($_POST['email']);

$mob_num = mysql_real_escape_string($_POST['mob_num']);

include('mysql_connection.php');

mysql_select_db("jzperson_imesUsers", $con);

$sql1 = mysql_query("SELECT * FROM registered_user WHERE username='$username'");

$sql2 = mysql_query("SELECT * FROM registered_user WHERE email='$email'");

$sql3 = mysql_query("SELECT * FROM registered_user WHERE mobile_num='$mob_num'");

$res1 = mysql_num_rows($sql1);

$res2 = mysql_num_rows($sql2);

$res3 = mysql_num_rows($sql3);

if(isset($username) && !empty($username){

if($res1 >= 1){

//JSON message: Username already taken. Choose different.

echo json_encode(array('success'=>true, 'usr'=>"taken"));

}

}

elseif(isset($email) && !empty($email)){

if($res2 >= 1){

//JSON message: Email already registered. Retrieve on "login"(login => link).

echo json_encode(array('success'=>true, 'email'=>"taken"));;

}

}

elseif(isset($mob_num) && !empty($mob_num)){

if($res3 >= 1){

//JSON message: Mobile number already registered. Retrieve on "login"(login => link).

echo json_encode(array('success'=>true, 'mob'=>"taken"));

}

}

else{

echo json_encode(array('success'=>false));

}

?>

+2

[ **请不要在新代码中使用'mysql_ *'函数**](http://bit.ly/phpmsql) 。他们不再被维护[并被正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 –

+0

如果您也会发布错误讯息,那么这很容易,因此我们不必通过您的问题(很长) –

+0

没有得到任何TBH。但问题是,在输入相同的用户名,电子邮件或电话号码后,脚本只会通过,它不会提醒我,只会在未填写的字段中提醒。所以Ajax部分必须有一些问题。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值