Os 10 Principais Erros de PHP que Todo Iniciante Comete

Você escreve o código. Você atualiza a página. Você vê uma tela branca vazia.

Isso acontece porque o PHP falha silenciosamente por padrão. Você deve forçá-lo a exibir erros durante o desenvolvimento.

Adicione estas linhas ao topo de seus arquivos:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Não use isso em produção. Use logs de arquivo em vez disso.

Aqui estão 10 erros comuns e como corrigi-los:

  • Falta de Ponto e Vírgula O PHP para de funcionar se você esquecer um ponto e vírgula. Isso geralmente causa uma falha silenciosa. Correção: Certifique-se de que cada instrução termine com um ponto e vírgula.

  • Comparação Fraca (== vs ===) O sinal de igual duplo realiza a coerção de tipo. Isso leva a erros de lógica. Correção: Use o igual triplo (===). Ele verifica tanto o valor quanto o tipo.

  • Variáveis Não Definidas Usar uma variável antes de atribuir um valor a ela quebra sua lógica. Correção: Use o operador de coalescência nula. Exemplo: $name = $_GET['name'] ?? 'Guest';

  • Escopo de Variáveis Globais Funções não conseguem enxergar variáveis fora delas. Correção: Passe variáveis para as funções como parâmetros.

  • Injeção de SQL Construir consultas com entradas de usuário permite que hackers roubem dados. Correção: Use prepared statements com placeholders (?).

  • Cross-Site Scripting (XSS) Imprimir a entrada do usuário diretamente permite que scripts maliciosos sejam executados nos navegadores. Correção: Envolva a saída em htmlspecialchars().

  • Cabeçalhos Já Enviados Você não pode redirecionar um usuário se já tiver enviado texto para o navegador. Até mesmo um único espaço causa esse erro. Correção: Coloque as chamadas header() no topo do arquivo. Sempre use exit() após um redirecionamento.

  • Chaves de Array Não Definidas Acessar uma chave de formulário que não existe causa avisos (warnings). Correção: Use o operador de coalescência nula para todos os dados de $_POST e $_GET.

  • Include vs Require O include apenas mostra um aviso se um arquivo estiver faltando. O script continua rodando e falha mais tarde. Correção: Use require_once para arquivos críticos, como conexões de banco de dados.

  • Valores de Retorno Não Verificados Muitas funções PHP retornam false em caso de falha. Se você usar esse resultado imediatamente, terá mais erros. Correção: Verifique se o resultado é false antes de usá-lo.

Resumo para o sucesso:

  • Ative o relatório de erros no desenvolvimento.
  • Use === para todas as comparações.
  • Sanitize todas as entradas de usuário.
  • Verifique os valores de retorno.

Fonte: https://dev.to/bikkisingh/top-10-php-bugs-every-beginner-makes-and-how-to-fix-them-1anh