我有以下代码。此代码仅显示存在和不存在的电子邮件的第二个警报。你能告诉我错误在哪里吗?
<script>
$(document).ready(function(){
$("#email").focusout(function(){
var emailVal = $('#email').val();
$.ajax({
type: 'post',
url: 'check_email.php',
data: {
myparam:emailVal //set it with a parameter name
},
success: function( data ) {
if(data==1){
alert("email already exists!");}
if(data==0){
alert("email is available!");}
}
});
});
});
这是我的check_email.php文件。我猜想从php文件中获取值是错误的。
<?php
require_once("connnection.php");
$con=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if (isset($_POST['myparam'])){
$email=mysqli_real_escape_string($con,$_POST['myparam']);
$sql = "SELECT * FROM user WHERE email='$email'";
$select=mysqli_query($con,$sql) or die("fail");
$row = mysqli_num_rows($select);
if ($row >0) {
return 1;
}else
return 0;
}
else
echo "post error";
答案 0 :(得分:1)
您需要回显结果而不是返回结果:
if ($row >0) {
echo 1;
}
else {
echo 0;
}
如果您只使用return
,则该值不会被发送回浏览器。
当然,你可以做到
echo $row;
答案 1 :(得分:0)
您的PHP文件if-else
代码块
更改自:
if ($row >0) {
return 1;
}else
return 0;
}
else
echo "post error";
要
if ($row >0) {
return 1;
}else
{
return 0;
}
else
echo "post error";