2013-01-16 162 views
-3

我嘗試創建一個表單來檢查用戶是否存在於數據庫中,但是我有連接AJAX和sql的問題,如果你能幫我找出這個問題,我會很讚賞,對不起,我的英語不是很好。這是我的代碼:AJAX無法與sql數據庫連接

<!DOCTTYPE html> 
<html lang="en"> 
<head> 
<mete charset="UTF-8"> 
<title>Email client</title> 
<script type="text/javascript"> 

function load(){ 
if (window.XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest(); 
}else{ 
    xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); 
} 
xmlhttp.onreadystatechange = function(){ 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
     document.getElementById('info').innerHTML = xmlhttp.responseText; 
    } 
} 
xmlhttp.open('GET', 'checkuser.php', true); 
xmlhttp.send(); 

} 

</script> 
</head> 

<body> 

<form name="loginform" onclick="load();"> 

    Username : <input name="userID" type="text" id="userID"><br /> 
    Password : <input name="password" type="password" id="passWD"><br /> 
    <input type="submit" id="button" value="Get in there"> <br /> 
    <p>Don't have an account? <a href="register.html"> please register </a></p> 
</form> 

<div id="info"></div> 


</body> 

</html> 

我的PHP(checkuser.php):

<?php 
$dbhost = 'localhost'; 
$dbuser = 'xxxx'; 
$dbpass = 'xxxx'; 
$dbname = 'xxxx'; 
$dbtable = 'xxxx'; 


$q=$_GET["userID"]; 
$p=$_GET["passWD"]; 

$con = mysql_connect($dbhost, $dbuser, $dbpass); 
if (!$con) 
{ 
    die('Could not connect: ' . mysql_error()); 
} 
$dbselect = mysql_select_db($dbname,$con); 

$sql="SELECT * FROM $dbtable WHERE userID='$q'"; 

$result = mysql_query($sql); 


if (mysql_num_rows($result)==0) { 
    echo "not registered"; 
} else { 
    while($row = mysql_fetch_array($result)) 
{ 

if (($row['passWD'])==$p) { 
    echo "registered"; 
} else { echo "not registered";} 

} 
} 
mysql_close($con); 

?> 
+0

最新問題?你看到任何錯誤?您需要在瀏覽器控制檯和服務器日誌中檢查日誌,以確定哪些操作無效。 – hvgotcodes

+0

您可能希望在onclick而不是onclick上調用'load'。 – Musa

+0

「連接到SQL的AJAX」沒有任何意義。您可以使用AJAX通過瀏覽器在PHP腳本之間進行通信。其中一個PHP腳本適用於MySQL數據庫。這裏的第一步是找出是否您的AJAX不執行該任務或PHP腳本。嘗試直接使用參數調用checkuser.php來查看數據庫是否有問題,然後根據調查結果前進。 – maksimov

回答

1

你的PHP預計將有傳遞給它(兩個查詢字符串參數不查詢字符串發送密碼,他們可能會被記錄下來,使用POST請求),但你的JavaScript只是請求沒有任何查詢字符串的腳本的URL。

大概要擴展load從表單中獲取數據,並在submit事件的形式,而不是文件的load事件來調用load