2013-04-21 64 views
3

用戶登錄到數據庫後,他應該被重定向到index.php,但我得到的只是警告消息: 「無法修改頭信息 - 輸出開始......」登錄後用戶沒有被重定向到PHP中的特定頁面

這是我的輸入形式:

<form action="login.php" method="post"> 
<div id="header"><h2 class="sansserif">Login</h2></div> 
<table> 

    <tr> 
     <td>Enter Username:</td> 
     <td> <input type="text" name="username" size="20"></td> 
    </tr> 

    <tr> 
     <td>Enter Password:</td> 
     <td><input type="password" name="password" size="20"></td> 
    </tr> 
    <tr> 
     <td><input type="submit" value="Log In"></td> 
     <td><a href="signup.html">Sign Up</a></td> 
    </tr> 
</table> 
</form> 

這是我的代碼:

<?php 
include("configuration.php"); 
$username = $_POST["username"]; 
$password = $_POST["password"]; 
$match = "select id from $table where username = '".$_POST['username']."'and password =   '".$_POST['password']."';"; 
$qry = mysql_query($match); 
$num_rows = mysql_num_rows($qry); 
if ($num_rows <= 0) { 
echo "Sorry, there is no username $username with the specified password."; 
echo "Try again"; 
exit; 
} else { 
$_SESSION['user']= $_POST["username"]; 
header("Location:index.php"); 
}?> 
+0

這裏有空格/標籤'| <?php'因此有些內容已經發送。 – Vyktor 2013-04-21 14:35:22

+1

作爲一個方面說明,您的選擇查詢容易受到SQL注入的影響。 http://php.net/manual/en/security.database.sql-injection.php – Ben 2013-04-21 14:38:35

+0

檢查你的configuration.php文件中是否有''之後的空格。 – 2013-04-21 15:06:58

回答

0

檢查你有沒有空格是在您的PHP標籤之前或之後。我可以在開始時看到3個空格,可能會導致「無法修改標題信息」。

0

首先嚐試使用commenting header()函數檢查瀏覽器是否有輸出。如果沒有檢查你的配置.php,也許有東西被回顯或打印。

相關問題