2016-05-20 75 views
0

我正在使用此功能在註冊時檢查用戶名可用性,如果用戶名存在,提交按鈕將被禁用。我正在使用php腳本來檢查用戶名是否存在於數據庫中。該代碼完全在我的本地服務器,而是一個Godaddy的服務器上託管的時候,我得到了下面的錯誤,當我提交或當我嘗試導航到另一個頁面:使用jQuery檢查用戶名可用性

Empty Response

空的響應後,我無法訪問我的網站約一分鐘,然後就沒事了。

我嘗試了很多東西,比如在所有其他js文件之前調用jquery.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腳本:

<?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到onchange,現在它像一個魅力一樣工作。我希望這個提示可以避免像其他人那樣浪費時間。謝謝你們的建議。