2010-08-27 24 views
0

我想創建簡單的用戶註冊表單。我有一個index.html文件和一個register.php文件。當我點擊提交按鈕時,它會轉到register.php頁面,但沒有任何反應。沒有任何錯誤或任何事情。我在register.php中有一些echo語句,但它們也不起作用。使用HTML格式的外部php文件

這是index.html代碼:

<form action="register.php" method="post"> 
<table width="384" border="1" align="center"> 
<? echo '<tr><td colspan="2">'.$final_report.'</td></tr>';?> 
<tr> 
<td width="50%">Username:</td> 
<td width="50%"><label> 
    <input name="username" type="text" id="username" size="30" /> 
</label></td> 
</tr> 
<tr> 
    <td>Password:</td> 
    <td><input name="password" type="password" id="password" value="" size="30" /></td> 
</tr> 
<tr> 
    <td>Email:</td> 
    <td><input name="email" type="text" id="email" size="30" /></td> 
</tr> 
<tr> 
    <td>&nbsp;</td> 
    <td><label> 
    <input name="register" type="submit" id="register" value="Register" /> 
    </label></td> 
</tr> 
    </table> 
    </form>  

這是register.php代碼:

<? 
include_once"config.php"; 
if(isset($_POST['register'])){ 
$username = $_POST['username']; 
$password = $_POST['password']; 
$email = $_POST['email']; 
$memip = $_SERVER['REMOTE_ADDR']; 
$date = date("d-m-Y"); 
if($username == NULL OR $password == NULL OR $email == NULL){ 
$final_report.= "Please complete the form below.."; 
}else{ 
if(strlen($username) <= 3 || strlen($username) >= 30){ 
$final_report.="Your username must be between 3 and 30 characters.."; 
}else{ 
$check_members = mysql_query("SELECT * FROM `members` WHERE `username` = '$username'"); 
if(mysql_num_rows($check_members) != 0){ 
$final_report.="The username is already in use!"; 
}else{ 
if(strlen($password) <= 6 || strlen($password) >= 12){ 
$final_report.="Your password must be between 6 and 12 digits and characters.."; 
}else{ 
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$",   $email)){ 
$final_report.="Your email address was not valid.."; 
}else{ 
$create_member = mysql_query("INSERT INTO `members` (`id`,`username`, `password`,`email`, `ip`, `date`) 
VALUES('','$username','$password','$email','$memip','$date')"); 
$final_report.="Thank you for registering, you may login."; 
}}}}}} 
?> 

任何人都可以看到錯誤?

回答

0
include_once"config.php" 

您似乎錯過了一個空間。要麼讓它include_once "config.php"(注意之間的空間)或include_once("config.php")

您還設置$final_reportregister.php但我沒有看到你在哪裏實際上打印任何東西。

編輯:我看到您正在嘗試在index.php中打印$final_report。這不會按照您的預期工作,除非您將register.php代碼直接包含在index.html中。爲什麼你只有一個register.php文件同時具有註冊腳本和HTML代碼?

+0

我把我的主頁作爲index.html,然後我在表單中包含註冊。如果我還在index.html文件中包含php腳本,那麼我應該將其更改爲index.php。我有幾個頁面與index.html關聯 – Ercan 2010-08-27 22:49:39

+0

您已經在index.html中使用PHP代碼('<?echo ...?>')。如果這是工作,那麼你應該沒有任何問題在那裏添加更多的代碼。 (許多Web服務器將默認將HTML文件解析爲PHP。) – casablanca 2010-08-27 23:56:59