【问题标题】:jQuery Validate PHP ResponsejQuery 验证 PHP 响应
【发布时间】:2011-02-18 01:01:39
【问题描述】:

我的问题是我想用 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 也不起作用。

非常感谢!

【问题讨论】:

  • 德语(和任何其他非英语)代码很难看。顺便说一句,我也是德国人。给你的变量起有意义的英文名字。 “Auslesen”(“读”)没有意义。例如,您应该使用 $sql 和 $result 而不是 $auslesen2 而不是 $auslesen1。此外,如果 $_POST['Email'] 不存在,您的代码将抛出 E_NOTICE。
  • 所以,基本上,你的意思是 php 代码返回正确的值,但你的 javascript 一直显示 false,不管 php 代码返回什么,对吗?你试过了吗,depends: function(){//do ajax call}

标签: php jquery json validation


【解决方案1】:

来自docs 的值似乎是作为get 参数传递的。将 $_POST['Email'] 替换为 $_GET['Email'] 看看是否适合您。

另外in_array 不处理多维数组,数组就是这样。也许更好的技术是将 WHERE 子句添加到您的 SQL 语句中,例如

$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;
}

【讨论】:

    猜你喜欢
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    相关资源
    最近更新 更多