3

用户登录到数据库后,他应该被重定向到 index.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");
}?>
4

2 回答 2

0

首先尝试评论 header() 函数检查浏览器上是否有任何输出。如果没有检查您的 configuration.php,则可能正在回显或打印某些内容。

于 2013-04-21T15:19:31.790 回答
0

检查您的 PHP 标记前后是否没有空格。我可以在开头看到 3 个空格,这可能导致“无法修改标头信息”。

于 2013-04-21T14:32:34.447 回答