我想創建一個註冊表單,檢查用戶是否已經通過電子郵件使用AJAX在系統中。我似乎無法讓我的PHP文件運行,並嘗試了各種論壇的項目。任何人都可以幫我的代碼無法讓我的PHP腳本執行從AJAX
腳本如下。
<script>
function showUser() {
var useremail = $('#useremail').val();
var userpassword = $('#userpassword').val();
var userzip = $('#userzipcode').val();
var url = "/assets/php/userlogin/userdupcheck.php?e="+useremail+"&p="+userpassword+"&z="+userzip;
xmlhttp.open("GET",url,true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send();
}
</script>
HTML表單是
<div id="registration" title="Register at TownCaddy.com">
<form name="register" id="register" onsubmit="showUser()">
<table>
<tr>
<td><input id="useremail" name="useremail" type="text" placeholder="Your Email" size="20" maxlength="45" /></td>
</tr>
<tr>
<td><input id="userpassword" name="userpassword" type="password" placeholder="Password" size="20" maxlength="32" /></td>
</tr>
<tr>
<td><input id="userzipcode" name="userzipcode" type="text" placeholder="Zip" size="5" maxlength="5" /></td>
</tr>
<tr>
<td colspan="4"><input name="submit" type="submit" value="Register" /></td>
</tr>
</table>
</form>
</div>
和PHP文件userdupcheck.php代碼如下
<?php
$e = $_GET['e'];
$p = $_GET['p'];
$z = $_GET['z'];
$query_dupUserCheck = "SELECT tblUser.userKey FROM tblUser WHERE tblUser.useremail = '".$e."'";
$sqlsearch = mysql_query($query_dupUserCheck);
$resultcount = mysql_num_rows($sqlsearch);
if ($resultcount > 0) {
print '<script type="text/javascript">';
print 'alert("The email address '. $e.' is already registered")';
print '</script>';
} else {
require_once('register.php');
}
?>
Firebug向您展示了什麼? –
在GET請求中發送密碼通常不是一個好主意。你應該使用後,所以密碼不公開在URL –
只是一個想法(不確定這一點),但你沒有爲你的表單標籤定義'行動'屬性。由於這是必需的,如果行爲不存在(如未觸發onSubmit事件,因爲沒有行爲沒有意義),行爲可能是未定義的。 http://www.w3.org/TR/html401/interact/forms.html#h-17.3 – Gus