我正在爲我的網站編寫註冊頁面。這裏是我的註冊頁面。任何人都可以看到爲什麼它不檢查用戶名是否已被使用或不是。我不知道PHP和JavaScript是否可以一起工作。javascript和php不能一起工作
HTML頁面如下:
<html>
<head>
<title>Register</title>
</head>
<body>
<script language="javascript">
function checkInput()
{
if(document.register.username.value=="")
{
alert("Fill in username");
document.register.username.focus();
return false;
}else if(document.register.password.value==""){
alert("Fill in your password");
document.register.password.focus();
return false;
}else {
<?php
if(isset($_POST['submit'])){
include "connect.php";
$username=$_POST['username'];
$query="SELECT username FROM user";
$result=mysql_query($query);
while($row=mysql_fetch_array($result)){
$arr[]=$row['username'];
}
if(in_array($username,$arr)){
?>
alert("Username is already in use");// this part does not work!
document.register.username.focus();
return false;
<?php
}
}
?>
}
}
</script>
<form name="register" method="post" action="dangki.php" onsubmit="return checkInput();">
<table width="289" height="185" border="1">
<tr>
<td colspan="2">register</td>
</tr>
<tr>
<td width="83">Username</td>
<td width="190"><input type="text" name="username" id="textfield" ></td>
</tr>
<tr>
<td>Password</td>
<td><input type="text" name="password" id="textfield2"></td>
</tr>
<tr>
<td>Re-type Password</td>
<td><input type="text" name="repassword" id="textfield3"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" id="button" value="Submit"> </td>
</tr>
</table>
</form>
</body>
</html>
是和否。通過Ajax,PHP和JS可以一起工作。由於PHP是在服務器端處理的,所以不會以您編碼的方式進行編碼,因此在任何JS運行之前,頁面中的所有php都將作爲HTML進行處理和輸出。 PHP只會在您提交或重新加載頁面時再次運行。因此,您要麼使用Ajax檢查用戶名可用性,要麼使用PHP來完成。 – 2012-07-08 06:51:59
* checkInput()函數中的每個*代碼路徑是否返回false?你的表單是否提交?如果表單實際上沒有提交給服務器,那麼您如何期望服務器端PHP代碼對其作出響應? – David 2012-07-08 06:56:14
@David JS函數默認返回'true',所以如果它沒有得到任何錯誤路徑,表單將被提交(當然,考慮一個有效函數)。 – 2012-07-08 06:59:04