-3

可能重复:
“警告:无法修改标头信息 - 标头已由”错误标头
已由 PHP 发送

我查看了许多其他网站,这些网站指出问题是由于空白间距。我认为这不是问题,因为在我的 php 脚本结束之后和我的 php 脚本开始之前我没有留下任何空白。这是完整的错误

:无法修改标头信息 - 标头已由第 22 行的 admin/login.php 中的(输出开始于 /admin/login.php:19)发送

这是我的代码:

       <?php
        require_once("../../includes/database.php");
        require_once("../../includes/session.php");
        require_once("../../includes/user.php");

        if($session->is_logged_in())
        {
        header("Location:index.php");
        }
        if(isset($_POST['submit']))
        {
        $username = trim($_POST['username']);
        $password = trim($_POST['password']);
        //Check Databases
        $found_user = User::authenticate($username, $password);
        $found_user->id = $found_user[0];
        if($found_user)
        {
            $session->login($found_user);
            header("Location:index.php");
        }
        else
        {
            echo "Username/password combination incorrect.";
        }
            } else { //form is not submitted
        $username = "";
        $password = "";
        }
       ?>
       <html>
           <head>
           </head>
           <body>
           <h1>Photo Gallery</h1>
           <div id="main">
           <h2>Staff Login</h2>
           <form action="login.php" method="post">
           <table>
         <tr>
                <td>Username:</td>
                <td>
                  <input type="text" name="username" maxlength="30" value="" />
                </td> 
            </tr>
            <tr>
                <td> Password:</td>
                <td>
                  <input type="password" name="password" maxlength="30" value="" />
                </td>
            </tr>
            <tr>
                <td colspan="2">
                  <input type="submit" name="submit" value"Login" />
                </td>
            </tr>
           </table>
           </form>
           </div>
           </body>
           </html>
            <?php if(isset($database)) 
        {
                $database->close_connection();
        }
           ?>
4

1 回答 1

0

如果您使用 aheader()来重定向用户,请确保在header()调用后使用exit(). 否则,脚本会愉快地继续尝试输出以下所有内容。

例如:

if($session->is_logged_in())
{
    header("Location:index.php");
    exit();
}
于 2012-08-15T05:41:24.573 回答