5
respostas

Warning: Cannot modify header information - headers already sent by login.php line 9

Fiz o upload para um servidor gratuito, mas sem logar, só navegando pelo cabeçalho aparece o erro acima. O que pode ser?

login.php

<?php 
include("conecta.php");
include ("banco-usuario.php");
include ("logica-usuario.php");

$usuario = buscaUsuario($conexao, $_POST["email"], $_POST["senha"]);
if($usuario == null) {
    $_SESSION["danger"] = "User or password invalid!";
    header("Location: index.php");
} else {
    $_SESSION["success"] = "User logged!";
    logaUsuario($usuario["email"]);
    header("Location: index.php");
}
die();

Obrigado.

5 respostas

Oi Adriano, verificando esse arquivo, não consegui encontrar problemas. Mas faz uma verificação ai nos seus arquivos que estão sendo usados pelo login.php se tem alguma parte onde você executa a função echo por exemplo. Alguma função que imprime algo na página.

Será o index.php ?

<?php include("cabecalho.php");
include ("logica-usuario.php");
 ?>    



<?php
if(usuarioEstaLogado()) {
?>
<p class="text-success">You are logged as <?= usuarioLogado() ?> <a href="logout.php">Logout</a></p>
<?php } else { ?>        
            <h1>Welcome!</h1>
                 <h2>Login</h2>
            <form action="login.php" method="post">
            <table class="table">
                <tr>
                    <td>Email</td>
                    <td><input class="form-control" type="email" name="email"></td>
                </tr>
                <tr>
                    <td>Password</td>
                    <td><input class="form-control" type="password" name="senha"></td>
                </tr>
                <tr>
                    <td><button type="submit" class="btn btn-primary">Login</button></td>
                </tr>
            </table>
            </form>
<?php } ?>
<?php include("rodape.php") ?>

Ou cabecalho.php

<?php 
error_reporting(E_ALL ^ E_NOTICE);
include("mostra-alerta.php");?>
<html>
<head>
    <meta charset="utf-8">
    <title>My Store</title>
    <link href="css/bootstrap.css" rel="stylesheet">
    <link href="css/loja.css" rel="stylesheet">
</head>
<body>

    <div class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <a class="navbar-brand" href="index.php">My store</a>
            </div>
            <div>
                <ul class="nav navbar-nav">
                    <li><a href="produto-formulario.php">Add Product</a></li>
                    <li><a href="produto-lista.php">Products</a></li>

                </ul>
            </div>
        </div>
    </div>


    <div class="container">
        <div class="principal">
<?php
mostraAlerta("success");
mostraAlerta("danger");
?>

Espera, esse erro acontece em qual momento exatamente? Assim que abre o site? Na página inicial ou quando vai fazer o login?

Aparece quando eu tento navegar pelo menu(cabeçalho) sem me logar. Aqui localhost funciona normalmente.

Entendi, cola aqui o código dessa função "usuarioEstaLogado" pra gente ver? Acho que pode ser sim o index dependendo de como está função tá codificada. Se ela tiver um location, pode estar acontecendo esse erro por causa disso.