2016-05-20 3 views
0

Я использую эту функцию для проверки доступности имени пользователя при регистрации, и если имя пользователя существует, кнопка отправки отключена. Я использую php-скрипт, чтобы проверить, существует ли имя пользователя в базе данных. Код отлично работает на моем локальном сервере, но при размещении на сервере GoDaddy, я получаю ошибку ниже, когда я отправить или при попытке перейти на другую страницу:проверить имя пользователя с помощью jQuery

Empty Response

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

Я пробовал много вещей, таких как вызов jquery.js-файла перед всеми другими файлами js, но для меня ничего не работает.

Я не очень хорошо разбираюсь в jQuery и javascript. Спасибо вам за ваши предложения.

ERE является сценарий и форма HTML:

function check_availability_username() { 
 

 
    var min_chars = 4; 
 
    var max_chars = 30; 
 
    var re = /^\w+$/; 
 
    var characters_error1 = 'Minimum amount of chars is 4'; 
 
    var characters_error2 = 'Maximum amount of chars is 30'; 
 
    var characters_error3 = 'Chars can be only letters, numbers and underscores!'; 
 
    var checking_html = 'Checking...'; 
 

 
    var username = $('#username').val(); 
 

 
    $.post("check_username.php", { 
 
     username: username 
 
    }, 
 
    function(result) { 
 

 
     if (result == 1) { 
 

 
     if ($('#username').val().length < min_chars) { 
 
      $('#username_availability_result').html(characters_error1); 
 
      $('input[name=submit]').attr('disabled', true); 
 
     } else if ($('#username').val().length > max_chars) { 
 
      $('#username_availability_result').html(characters_error2); 
 
      $('input[name=submit]').attr('disabled', true); 
 
     } else if (!re.test($('#username').val())) { 
 
      $('#username_availability_result').html(characters_error3); 
 
      $('input[name=submit]').attr('disabled', true); 
 
     } else { 
 
      $('#username_availability_result').html(username + ' is Available'); 
 
      $('input[name=submit]').attr('disabled', false); 
 
     } 
 
     } else { 
 
     $('#username_availability_result').html(username + ' is not Available'); 
 
     $('input[name=submit]').attr('disabled', true); 
 
     } 
 
    }); 
 

 
    if (event.which == 13 || event.keyCode == 13) { 
 

 
    $.post("check_username.php", { 
 
     username: username 
 
     }, 
 
     function(result) { 
 

 
     if (result == 0) { 
 

 
      $('#username_availability_result').html(username + ' is not Available'); 
 
      $('input[name=submit]').attr('disabled', true); 
 
     } 
 
     }); 
 
    } 
 
    
 
    $('#submit').click(function() { 
 
    $.post("check_username.php", { 
 
     username: username 
 
     }, 
 
     function(result) { 
 

 
     if (result == 0) { 
 

 
      $('#username_availability_result').html(username + ' is not Available'); 
 
      $('input[name=submit]').attr('disabled', true); 
 
     } 
 
     }); 
 

 
    }); 
 
}
<form id="login-id" action="suscribe-form.php" method="POST" onkeyup="return check_availability_username();"> 
 
    <div class="form-group"> 
 
    <label for="username">Username</label> 
 
    <input type="text" class="form-control button-or-space" name="username" id="username" value="" minlength="4" maxlength="25" required pattern="\w+"> 
 
    <input type='hidden' id='check_username_availability' value='Check Availability'>&nbsp;<span id='username_availability_result' name='username_availability_result'></span> 
 
    </div> 
 
    <div class="form-group"> 
 
    <label for="password1">Password</label> 
 
    <input type="password" class="form-control button-or-space" name="password1" id="password1" value="" minlength="8" maxlength="60" required pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" onchange="form.password2.pattern = this.value;"> 
 
    </div> 
 
    <div class="form-group"> 
 
    <label for="password2">Confirm password</label> 
 
    <input type="password" class="form-control button-or-space" name="password2" value="" minlength="8" maxlength="60" required pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"> 
 
    </div> 
 
    <div class="form-group pull-right"> 
 
    <input type="submit" name="submit" id="submit" value="Register" class="btn btn-success button-or-space"> 
 
    </div> 
 
</form>

А вот скрипт:

<?php  

mysql_connect('localhost', 'root', ''); 
mysql_select_db('DB'); 

$username = mysql_real_escape_string($_POST['username']); 

$result = mysql_query('select username from user where username = "'.$username. 
    '"'); 

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

?> 
+0

Какая ошибка вы видите в консоли? – brk

+0

Вот содержимое консоли: Не удалось загрузить ресурс: net :: ERR_EMPTY_RESPONSE http://uwfdb.com/suscribe.php:1 GET http://uwfdb.com/suscribe.php net :: ERR_EMPTY_RESPONSE – abdenour

ответ

-2

Если вы получаете ошибку 500, что есть проблема с подключением к базе данных. проверьте наличие включенных файлов и переменных подключения, используемых для подключения к базе данных.

Надеюсь, что это сработает.

+0

A 500 - ЛЮБАЯ проблема на стороне сервера. –

+0

Я не знаю, что такое ошибка 500, но у меня этого нет – abdenour

+0

500 Ошибка не имеет ничего общего с подключением к базе данных – Rajan

0

Я наконец нашел решение. Проблема была не в сценарии jQuery или php, а только в том, что я вызываю функцию в форме: onkeyup to onchange, и теперь она работает как шарм. Я надеюсь, что этот совет не позволит другим потерять часы, как это было со мной. Спасибо, ребята, за ваши предложения.

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