繁体   English   中英

jQuery验证PHP响应

[英]jQuery Validate PHP Response

我的问题是我想用jquery验证电子邮件地址。 不仅是语法,而且如果电子邮件已经注册也是如此。 有一些教程,但是没有用! 首先,jQuery代码:

<script id="demo" type="text/javascript"> 
$(document).ready(function() {
 // validate signup form on keyup and submit
 var validator = $("form#signupform").validate({
  rules: {
   Vorname: {
    required: true,
    minlength: 3
   },
   Nachname:{
    required: true,
    minlength: 4
   },
   password: {
    required: true,
    minlength: 5
   },
   password_confirm: {
    required: true,
    minlength: 5,
    equalTo: "#password"
   },
   Email: {
    required: true,
    email: true,
    type: "POST",
    remote: "remotemail.php"
   },
   dateformat: "required",
  ...
</script> 

现在是PHP代码:

<?php
    include('dbsettings.php');

    $conn = mysql_connect($dbhost,$dbuser,$dbpw); 
    mysql_select_db($dbdb,$conn);

    $auslesen1 = "SELECT Email FROM flo_user"; 
    $auslesen2 = mysql_query($auslesen1,$conn); 
    $registered_email = mysql_fetch_assoc($auslesen2);
    $requested_email  = $_POST['Email'];

    if( in_array($requested_email, $registered_email) ){
        echo "false";
    }
    else{
        echo "true";
    }
?>

我尝试返回TRUE /也返回FALSE,但这始终显示“电子邮件已注册”。 json_encode也不起作用。

非常感谢!

文档中,该值似乎作为get参数传递。 将$ _POST ['Email']替换为$ _GET ['Email'],看看是否适合您。

同样, in_array不处理多维数组,而该数组是。 也许更好的技术是在您的SQL语句中添加WHERE子句,例如

$email = mysql_real_escape_string($_GET['Email']);
$sql = 'select Email from users where Email = '.$email;
$result = mysql_query($query, $dbconn);
$resultAsArray = mysql_fetch_assoc($result);
if(count($resultAsArray)==0) {
    echo true;
}
else {
    echo false;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM