2014-11-02 4 views
-1

У меня есть код ниже. Этот код показывает только второе предупреждение для существующих и не существующих писем. Не могли бы вы показать мне, где ошибка.Проверить наличие в базе данных электронной почты

<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

В чем проблема вы столкнулись. – Shubanker

+0

Для обоих существуют и не существуют электронные письма, код показывает второе предупреждение ..... – cmit

+0

Сосредоточьтесь на одной части этого потока - сначала проверьте, что сервер ведет себя так, как вы ожидаете, а затем переходите на код на стороне клиента. Пожалуйста, не просто перепрыгивайте весь свой код здесь, чтобы мы справились - сначала вам придется немного отладить себя. – Lix

ответ

1

Вам нужно повторить результат вместо о его возврате:

if ($row >0) { 
    echo 1; 
} 
else { 
    echo 0; 
} 

Если вы используете return, значение не возвращается в браузер.

Конечно, вы можете просто сделать

echo $row; 
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";