jQuery验证PHP响应

时间:2010-05-11 08:35:02

标签: php jquery json validation

我的问题是我想用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也无效。

非常感谢!

1 个答案:

答案 0 :(得分:0)

docs开始,该值似乎作为get参数传递。用$ _GET ['电子邮件']替换$ _POST ['电子邮件'],看看是否适合你。

同样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;
}