我有一個簡單的註冊表單,它使用jQuery和Ajax來驗證用戶輸入。當Ajax嘗試對電子郵件地址進行服務器端驗證(例如)並連接到數據庫時,它不會通過$msg
返回結果。通過Ajax傳遞MySQL
function checkUser() {
$search = mysql_query("SELECT * FROM users WHERE username = '" . $username . "'");
$match = mysql_num_rows($search);
if($match > 0) {
$msg .= 'Username already in use, please try another.';
}
}
這裏是JS:
function send(datastr) {
$.ajax({
type: "POST",
url: "./scripts/addmember.php",
dataType: "text",
data: datastr,
cache: false,
success: function(html) {
$("#errordiv").fadeIn("slow");
$("#errordiv").html(html);
//setTimeout('$("#errordiv").fadeOut("slow")',2000);
}
});
}
嘿只是,如果你想知道爲什麼向下票(不是我),這是可怕的應用程序設計通過SQL通過JS/Ajax。你可能想重新考慮你的設計。 – 2011-12-18 00:38:08
如果沒有addmember.php,除了一般性建議外,很難提供任何內容。 – Purefan 2011-12-18 00:41:13
@DamenTheSifter和@因爲這個原因downvoted的人:標題是錯誤的。沒有SQL通過Ajax傳遞。第一個片段是* PHP *。它可能不會被SQL注入攻擊,因爲我們只能看到變量'$ username'。你在逃避它,對吧? – Ryan 2011-12-18 01:08:03