【发布时间】: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