为什么注册表格中的ajax获胜';我不懂php
我对ajax注册表有异议。我尝试了很多选择,但我找不到哪里出了错。问题在于电子邮件。如果存在电子邮件,Ajax将无法读取(为什么注册表格中的ajax获胜';我不懂php,php,jquery,ajax,Php,Jquery,Ajax,我对ajax注册表有异议。我尝试了很多选择,但我找不到哪里出了错。问题在于电子邮件。如果存在电子邮件,Ajax将无法读取(检查email.php)。其他一切都可以。我用了test@ok.com来测试它 table `users` | id | email | | 1 | test@ok.com | HTML <script src="https://static.zrcdn.net/js/fw/jquery/1.7.2/jquery-1.7.2.min.js">&l
检查email.php
)。其他一切都可以。我用了test@ok.com
来测试它
table `users`
| id | email |
| 1 | test@ok.com |
HTML
<script src="https://static.zrcdn.net/js/fw/jquery/1.7.2/jquery-1.7.2.min.js"></script>
<script>
function checkStepOne() {
jQuery("#owner_email").parents("li").find("label.error").hide();
jQuery("#owner_password").parents("li").find("label.error").hide();
jQuery("#owner_email").parents("li").find("span.check-1-r").removeClass('chkValid');
jQuery("#owner_password").parents("li").find("span.check-2-r").removeClass('chkValid');
var owner_email = jQuery("#owner_email").val();
var owner_password = jQuery("#owner_password").val();
var chkemail = 1;
var chkpass = 1;
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
$.ajax({
type: "POST",
url: "check-email.php",
data: {
owner_email,
},
success: function(responseEmail) {
if (responseEmail == 0) {
jQuery("#owner_email").parents("li").find("#e_exist").show();
chkemail = 0;
} else {
chkemail = 1;
}
}
});
if (owner_email == "" || reg.test(owner_email) == false) {
chkemail = 0;
}
if (chkemail == 1) {
jQuery("#owner_email").parents("li").find("span.check-1-r").addClass('chkValid');
} else {
jQuery("#owner_email").parents("li").find("#e_avaib").show();
}
if (owner_password.length < 5 || owner_password == "") {
chkpass = 0;
}
if (chkpass == 1) {
jQuery("#owner_password").parents("li").find("span.check-2-r").addClass('chkValid');
} else {
jQuery("#owner_password").parents("li").find("label.error").show();
}
if (chkpass == 1 && chkemail == 1) {
jQuery(".step-1").hide();
jQuery(".step-2").addClass('chkValid').show();
}
return false;
}
</script>
<form method="post" id="frmEmailSignup" onsubmit="return submitResform();">
<ul>
<li>
<label class="side-label" for="owner[email]">Email</label>
<input type="email" class="email required" id="owner_email" name="owner[email]" placeholder="Email" tabindex="0" onkeyup="return forceLower(this);" style="margin-bottom: 6px;"/>
<label class="error" id="e_exist" style="margin-top: -9px;">Email exist.</label>
<label class="error" id="e_avaib" style="margin-top: -9px;">Wrong email.</label>
<span class="check-1-r"></span>
</li>
<li class="password-row">
<label class="side-label" for="owner[password]">Password</label>
<input type="password" class="password required" id="owner_password" name="owner[password]" placeholder="Password" tabindex="0"/>
<label class="error">Wrong password.</label>
<span class="check-2-r"></span>
</li>
<li class="full">
<button type="button" class="button cta btn-disabled next next-one" tabindex="0" data-plan="register" onclick="checkStepOne();">Sign up</button>
</li>
</ul>
</form>
函数checkStepOne(){
jQuery(“#owner_email”).parents(“li”).find(“label.error”).hide();
jQuery(“#owner_password”).parents(“li”).find(“label.error”).hide();
jQuery(“所有者电子邮件”).parents(“li”).find(“span.check-1-r”).removeClass(“chkValid”);
jQuery(“#owner_password”).parents(“li”).find(“span.check-2-r”).removeClass(“chkValid”);
var owner_email=jQuery(“#owner_email”).val();
var owner_password=jQuery(“#owner_password”).val();
var chkemail=1;
var chkpass=1;
变量reg=/^([A-Za-z0-9\-\.])+\@([A-Za-z0-9\-\.])+\.([A-Za-z]{2,4})$/;
$.ajax({
类型:“POST”,
url:“检查email.php”,
数据:{
业主(电邮),
},
成功:功能(响应邮件){
if(responseEmail==0){
jQuery(“#所有者电子邮件”).parents(“li”).find(#e#u exist”).show();
chkemail=0;
}否则{
chkemail=1;
}
}
});
如果(所有者电子邮件==“”| |注册测试(所有者电子邮件==假){
chkemail=0;
}
如果(chkemail==1){
jQuery(“所有者电子邮件”).parents(“li”).find(“span.check-1-r”).addClass(“chkValid”);
}否则{
jQuery(“所有者电子邮件”).parents(“li”).find(“#e#u avib”).show();
}
if(owner_password.length<5 | | owner_password==“”){
chkpass=0;
}
如果(chkpass==1){
jQuery(“所有者密码”).parents(“li”).find(“span.check-2-r”).addClass(“chkValid”);
}否则{
jQuery(“#owner_password”).parents(“li”).find(“label.error”).show();
}
如果(chkpass==1&&chkemail==1){
jQuery(“.step-1”).hide();
jQuery(“.step-2”).addClass('chkValid').show();
}
返回false;
}
-
电子邮件
电子邮件存在。
错误的电子邮件。
-
密码
密码错误。
-
注册
检查email.php
<?php
$email = $_POST['owner[email]'];
$query = mysql_query("SELECT email FROM users WHERE email = '$email'");
if (mysql_num_rows($query) == 1) {
echo '0';
} else {
echo '1';
}
?>
您应该将数据作为
data: {
owner_email: owner_email
}
在PHP中,将其作为
$_POST['owner_email']
在ajax中传递数据是错误的。你用过这个
数据:{owner_email}
应该是这样的
数据:{email:owner_email}
在check-email.php文件中获得如下电子邮件
$email=$_POST['email'] 因为您正在传递所有者的电子邮件并检查所有者的[email]$\u POST['owner[email]'
从未设置,应该是$\u POST['owner\u email']
另外请注意mysql.*
函数不推荐使用。使用mysqli
或PDO
instead@kerbholz是的,谢谢!你说得对。谢谢