Erro: “Cannot modify header information – headers already sent” no PHP

Um dos erros mais comuns, que os programadores iniciantes sofrem é o “Warning: Cannot modify header information – headers already sent by…”. Não se preocupe, todo mundo passa por esse erro ao programar com PHP. Descubra abaixo como é fácil de resolver esse erro.

O motivo do erro “Cannot modify header information”

Antes, vamos a explicação do motivo desse erro acontecer na execução de algum script PHP. É bem provável ele deva ser o erro mais procurado no stack overflow.

O motivo desse warning no PHP é simples, pois funções que enviam ou modificam o cabeçalho da requisição, devem ser chamados antes de o php emitir qualquer output.

As funções que devem ser chamadas antes de qualquer output são:

  • header() / header_remove()
  • session_start / session_regenerate_id()
  • setcookie() / setrawcookie()

Exemplos que irão exibir o erro

Caso você precisa fazer algum redirect, utilizando o header() e logo após tentar escrever algo na página, irá fazer o erro aparecer.

<?php

header("Location: http://www.dicasdephp.com.br/");

echo "Executando o redirect...";

Se você executar o exemplo acima, terá o erro “Cannot modify header information” exibindo na tela.

Como evitar o problema

Antes de mais nada, esse erro pode ser iniciado por problema bem simples, mas que irá fazer você perder muitas horas de trabalho até achar.

Um simples espaço em branco antes de um arquivo <?php, poderá ocasionar o problema.

Também, outro detalhe simples, é na hora de encerrar um arquivo com o ?>, e acabar deixando um espaço ou nova linha em branco no final do arquivo.

Por isso, diversos frameworks, não usam o ?> para encerrar os arquivos.

Dicas para para ajudar a não ter esse erro

  • Procurar por espaço/Tab/enter antes de abrir tag PHP e depois de fechar
  • Quando utilizar arquivos em UTF8, certificar-se de estar usando o UTF8 sem BOM

Caso esse post não tenha lhe ajudado, vamos ao stack overflow, pois lá tem um link com explicação completa do erro.

String Length: Descubra o tamanho de uma string com strlen

Está procurando sobre string length? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre como descobrir o tamanho de um string no PHP utilizando a função strlen.

Definição da função strlen

strlen ( $string )

A função strlen irá retornar o total de caracteres, incluindo espaços, que existem no parâmetro de entrada.

Essa função é muito utilizada para comparação de tamanhos ou verificar se foi passado algum valor para um determinado parâmetro.

Veja os exemplos abaixo de string length com strlen

No exemplo abaixo vamos utilizar a função strlen para verificar se o parâmetro existe ou foi definido.

if(strlen($input) == 0)
      die('A variável $input não pode ser vazia');

No próximo exemplo, vamos retornar o tamanho total da string inserida na função strlen.

echo strlen('Qual o tamanho dessa string?'); // irá retornar o inteiro 28

Substr PHP: 3 dicas de como utilizar essa função

Está procurando sobre substr php? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre o que como utilizar substr no PHP.

A função substr é responsável por retornar um pedaço de uma string, conforme parâmetros desejados.

string substr ( $string , $inicio, $tamanho )

Para começar, precisamos entender o funcionamento da função, que é presente em diversas linguagens de programação, como javascript, C, java e outras.

O primeiro parâmetro é a string que desejamos cortar e pegar somente um trecho. O segundo parâmetro é a partir de qual caracter dessa string, vamos retornar. E o terceiro, é o tamanho máximo a retornar a partir da definição de inicio.

Assim, vamos aos exemplos de uso abaixo.

Retornar os 5 últimos caracteres com substr php

Para retornar os últimos 5 caracteres de uma palavra, vamos definir conforme o exemplo abaixo:

$string = 'Paralelepípedo';

echo substr($string, -5)

// retorno será "ípedo";

Lembre-se, é possível usar o número negativo no parâmetro que irá contar o inicio do corte da string, assim irá contar do final para o inicio da string.

Retornar os 3 primeiros caracteres

Digamos que queremos retornar apenas os 3 primeiros caracteres, por exemplo, dos meses do ano. Veja o exemplo abaixo:

$mes = 'Janeiro';

echo substr($mes, 3);

// retorno será 'Jan';

Retornando a partir do 3 caracter, limitado a 5

Agora vamos utilizar a função substr do php para retornar a partir de um determinado caracter, mas com limitador de tamanho da string.

$exemplo = 'Descrição de um evento';

echo substr($exemplo, 3, 5);

// retorno será 'criçã';

Combinando o uso de substr com strpos

A função strpos, que é responsavél por trazer posição que uma setença acontece dentro de um texto, pode ser combinada com a substr para retornar somente determinado conteúdo.

No exemplo abaixo, queremos retornar apenas o dominio do e-mail, removendo o identificado do usuário.

$email = '[email protected]';

echo substr($email, strpos($email, "@")); 

// irá retornar @dicasdephp.com.br
1 Star2 Stars3 Stars4 Stars5 Stars (33 votos, média: 4,61 de 5)
Loading...

Vídeo Aula – Tutorial para Criar Plugin para o WordPress

Preparamos uma sequência de vídeos ensinando como criar um plugin para o WordPress. A aula é prática e vai direto ao ponto, utilizando a documentação do WordPress como referência.

Aula 1 – Apresentação

A apresentação da vídeo aula e também o básico da estrutura que será mostrada no final do plugin.

Iremos estudar rapidamente como criar um plugin que transforme um shortcode em uma lista de posts relacionados.

Aula 2 – Programado os posts relacionados

Vamos descobrir como transformar o plugin simples, que construimos na aula 1, em algo dinâmico, retornando posts recém cadastrados no conteúdo do post.

Aula 3 – Compartilhando o plugin

Mostrando um pouco do funcionando de compartilhar o plugin, através de arquivo direto ou realizando a publicação no diretório oficial de plugins do WordPress.


Criando Plugin Completo para o WordPress

Quer avançar e aprender mais sobre toda a estrutura de um plugin para WordPress, recomendamos o curso totalmente online da MX Cursos.

→ Veja mais sobre o curso nesse link.

 

 

Nginx: 8 comandos básicos para conhecer e dominar a ferramenta

Se você está começando com as configurações de servidores, é preciso aprender um pouco sobre o fantástico Nginx. Alguns dos comandos mais básicos para instalar e dominar a ferramenta.

O servidor web é rápido, leve, e com inúmeras possibilidades de configuração para melhor performance.

Primeiro, você precisa aprender os conceitos básicos da instalação. Como a maioria dos servidores web é executado no Ubuntu/Debian e CentOS/RHEL, você pode aprender com os exemplos a seguir para essas distribuições populares do Linux.

Nginx: Logotipo
Nginx: Logotipo

Antes de mais nada, a maneira correta de pronunciar o servidor web é “engine X”. Simples assim, agora você pode conversar com os outros desenvolvedores falando de maneira correta.

Ler mais