2012-04-14 46 views
0

所以這次我決定去用一種網絡編程語言。我一直很喜歡PHP的工作方式,所以我開始學習它。我已經開始製作登錄頁面,但我不知道它有什麼問題。如果我使用符號沒有錯誤。我甚至不認爲表單已被處理。這是在同一頁面上處理表單的正確方法嗎?在PHP中處理表單在同一頁

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<?php 
session_start(); 
include("includes/connect.php"); 

if(isset($_SESSION['uid'])){ 
    header('Location:member.php'); 
} 

if(isset($_POST['submit'])){ 
    $error = array(); 

    //username 
    if(empty($_POST['username'])){ 
     $error[] = 'You cant have no username can you'; 
    }else if(ctype_alnum($_POST['username'])){ 
     $username = $_POST['username']; 
    }else{ 
     $error[] = 'Username cannot contain symbols'; 
    } 

    //password 
    if(empty($_POST['password'])){ 
     $error[] = 'YOU NEED A PASSWORD'; 
    }else{ 
     $password = sha1(mysql_real_escape_string($_POST['password'])); 
    } 

    //error 
    if(empty($error)){ 
     $result = mysql_query("SELECT * FROM user_info WHERE username='$username' AND password='$password'") or die(mysql_error()); 
     if(mysql_num_rows($result)==0){ 
      $error_message='Username or Password wrong'; 
     }else{ 
      $_SESSION['username'] = $username; 
      $_SESSION['user_id'] = mysql_result($result, 0, 'user_id'); 
     } 
    }else{ 
     foreach($error as $key => $values) { 
      $error_message.= "$values"; 
     } 
    } 
} 


?> 

<html> 
<head> 
    <title>Login :)</title> 
</head> 
<body> 
<div style="background-color:#A0A0A0" align="center"> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> 
    <h3>Login</h3> 
    <div> 
     <label for="username">Username:</label> 
     <input type="text" name="username" maxlength="10"/> 
    </div> 
    <div> 
     <label for="password">Password:</label> 
     <input type="password" name="password" maxlength="20"/> 
    </div> 
    <div> 
     <input type="submit" name="submit "value="Login"/> 
    </div> 
</form> 
<?php echo $error_message; ?> 
</div> 
</body 
</html> 

回答

3

你的身體標記未關閉您忘記>

</body> 

,並刪除提交按鈕的名稱:)空間

+0

我一直在尋找這樣一個複雜的錯誤,我沒有連看到這個:( – Learath2 2012-04-14 18:03:46

+0

我建議如果你在這些情況下發現你的自我將回聲放在塊中以知道你的代碼破壞的地方;) – Tarik 2012-04-14 18:06:42