Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erros não acontecem no video mas sim nos testes

Olá, nos videos eu vejo o guilherme fazendo algumas coisas e copio exatamente e no dele não da erro mas no meu sim, um exemplo simples é o inicio das session ou retorno de headers, pois no meu sempre da algum erro do tipo (...) headers already sent by (...) mas no ambiente que ele usa isso não da ... já sei como resolver esses erros, pq no dele não acontece ? Estou usando o php 7 no apache 2 no ubuntu 16.10 e como navegador usando o chromium ou firefox .

4 respostas

Pode ser vários motivos Nicolas, desde ter escapado alguma coisa no seu copy, ou até a posição da estrutura de pastas do seu projeto ser diferente dos vídeos.

Para saber o que aconteceu, temos que ler a mensagem de erro e entende-la, só assim da para saber o motivo da falha do copy paste.

É meio "estranho" mesmo, eu não acho que você deva se preocupar com isso, o importante é que você consegue identificar o erro e já consegue corrigi-lo. Se caso acontecer novamente, mande o erro e seu código, ai da para dizer melhor porque o problema aconteceu. Deu para sacar ?

abraço

A estrutura esta identica a dele tirando as partes em que tive que mudar devido ao erro, exemplo, no arquivo produto-formulario.php eu tive que jogar a chamada da função verifica usuario antes do cabeçalho, pois ela envia um header e se estiver depois do cabeçalho que "envia" o html ele da o erro ...

Erro -> Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/php/mostra-alerta.php:14) in /var/www/html/php/logica-usuario.php on line 11

Codigo ->

    include_("logica-usuario.php");
    include("cabecalho.php"); 
    include("conecta.php");
    include("banco-categoria.php");
    verificaUsuario();

enfim, mudando o verificaUsuario() de lugar o problema não ocorre ... mas é só um exemplo mesmo . Eu até pensei que poderia ser algo do tipo do erro que ta permitido aparecer, mas em outro video ele colocou no index pra mostrar tudo menos os "notice" .

consigo me virar mas só fiquei na duvida mesmo se é alguma outra configuração no ambiente dele .

solução!

O servidor recebeu a informação da sua página php e precisa enviar a resposta para o navegador, no caso o html.

A primeira informação que ele começa a responder o header, agora imagina que ele já fez o html da página e você edita a página? Ele não sabe lidar com isso e reclama com você headers already sent by.... Conseguiu sacar Nicolas?

Eu achei um texto bem legal de um blog que fala sobre isso em detalhes:

http://blog.thiagobelem.net/resolvendo-o-problema-de-headers-already-sent

Sobre o erro eu já entendi, isso ae é até meio simples de resolver, oq eu questiono é que no caso do instrutor do curso o erro não acontecer .

Mas já "superei" isso e to seguindo normal ... muito obrigado pela atenção .