Предупреждение: Невозможно изменить информацию заголовка - заголовки уже отправлены ERROR [дубликат]

Возможный дубликат: Заголовки, уже отправленные PHP

Я боролся с этой ошибкой для пока сейчас.

Для начала я просто подумал, что это пробел, но после дальнейших исследований я думаю, что это может быть проблема, подобная этой:

Ищите любые операторы, которые могут отправить вывод пользователю перед этим оператором заголовка. Если вы найдете один или несколько, измените свой код, чтобы переместить оператор заголовка перед ними. Сложные условные операторы могут усложнить проблему, но они также могут помочь решить проблему. Рассмотрим условное выражение в верхней части PHP-скрипта, которое определяет значение заголовка как можно раньше и устанавливает его там.

Я предполагаю, что заголовок include вместе с header() вызывает проблему, но я не уверен, как изменить код, чтобы избавиться от этой ошибки.

Как убрать ошибку?

<?php
    $username = $password = $token = $fName = "";

    include_once 'header.php';

    if (isset($_POST['username']) && isset($_POST['password']))
        $username = sanitizeString($_POST['username']);

    $password = sanitizeString($_POST['password']); //Set temporary username and password variables
    $token    = md5("$password"); //Encrypt temporary password

    if ($username != 'admin')
    {
        header("Location:summary.php");
    }
    elseif($username == 'admin')
    {
        header("Location:admin.php");
    }
    elseif($username == '')
    {
        header("Location:index.php");
    }
    else
        die ("<body><div class='container'><p class='error'>Invalid username or password.</p></div></body>");

    if ($username == "" || $token == "")
    {
        echo "<body><div class='container'><p class='error'>Please enter your username and password</p></div></body>";
    }
    else
    {
        $query = "SELECT * FROM members WHERE username='$username'AND password = '$token'"; //Look in table for username entered
        $result = mysql_query($query);
        if (!$result)
            die ("Database access failed: " . mysql_error());
        elseif (mysql_num_rows($result) > 0)
        {
            $row = mysql_fetch_row($result);
            $_SESSION['username'] = $username; //Set session variables
            $_SESSION['password'] = $token;

            $fName = $row[0];
        }
    }
?>
84
задан Community 23 May 2017 в 11:54
поделиться