我的问题是我想用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
也无效。
非常感谢!
答案 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;
}