2014-11-02 2 views
0

Я пытаюсь проверить, введен ли только пользователь электронной почты в базе данных или нет, и отображать сообщение. но когда я удаляю введенное значение и фокусируюсь, отображается другая опция. Но я не хочу, чтобы отобразить neither.Here моих коды-АяксЗначение по умолчанию для ввода текста типа ввода

<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) { 
     alert(data); 
     if(data==1){ 
     document.getElementById('email_check').innerHTML="<p style='color:red;'>The email you have entered is already exist!</p>"; 
      } 
      if(data==0){ 
      document.getElementById('email_check').innerHTML="<p style='color:green;'>The email you have entered is available!</p>";} 
     } 
    }); 
    }); 
}); 


</script> 

Вот мой файл check_email.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) { 

    echo 1; 
}else { 

echo 0; 
} 
else 
echo "post error";         

После удаления введенного значения и фокус из (выберите другое место) , происходит следующее: с использованием предупреждения (данных) я получил 0 в качестве данных с сервера. Как это могло произойти. Если в текстовом поле нет значения, как он вступил в сегмент запросов sql в php-файле. Есть ли значение по умолчанию или что-то, что проходит за сценой? пожалуйста, объясни?

ответ

0

Если нет никакого значения в текстовом поле он будет посылать

MyParam: «»

Это будет проверить, если есть адрес электронной почты, с «» и вернется 0.

Просто проверьте, пусто ли текстовое поле перед выполнением вызова php, чтобы обойти это.

+0

спасибо .... за вашу помощь – cmit

0

Просто проверьте значение emailVal либо оно существует, либо нет. Попробуйте

$(document).ready(function(){ 
    $("#email").focusout(function(){ 
     var emailVal = $('#email').val(); 
     if($.trim(emailVal)){ //Added the new condition 
      $.ajax({ 
       type: 'post', 
       url: 'check_email.php', 
       data: { 
        myparam:emailVal //set it with a parameter name 
       }, 
       success: function(data) { 
        alert(data); 
        if(data==1){ 
         document.getElementById('email_check').innerHTML="<p style='color:red;'>The email you have entered is already exist!</p>"; 
        } 
        if(data==0){ 
         document.getElementById('email_check').innerHTML="<p style='color:green;'>The email you have entered is available!</p>";} 
       } 
      }); 
     }else{ //If empty then nothing will be shown 
      $('#email_check').html(''); 
     } 

    }); 
}); 
+0

спасибо .....! за вашу помощь – cmit

Смежные вопросы