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. Se você não vê os erros, não pode corrigi-los.
Comece seu desenvolvimento adicionando estas linhas ao topo do seu arquivo:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
Isso força o PHP a mostrar o que está errado. Não use isso em produção.
Aqui estão 10 erros comuns e como corrigi-los.
Ponto e vírgula ausente O PHP precisa de um ponto e vírgula para encerrar uma instrução. Se você esquecer um, o script para. Correção: Sempre termine suas linhas com um ponto e vírgula.
Comparação Fraca (Loose Comparison) O operador == altera os tipos antes de comparar. Isso leva a resultados incorretos. Correção: Use ===. Isso verifica tanto o valor quanto o tipo.
Variáveis não definidas Usar uma variável que você não criou causa erros de lógica. Correção: Use o operador de coalescência nula.
$name = $_GET['name'] ?? 'Guest';Escopo de Variável Global Funções não conseguem ver variáveis que estão fora delas. Correção: Passe variáveis para as funções como parâmetros.
Injeção de SQL (SQL Injection) Colocar a entrada do usuário diretamente em uma consulta é perigoso. Atacantes podem roubar seus dados. Correção: Use prepared statements com placeholders.
Cross-Site Scripting (XSS) Imprimir a entrada bruta do usuário na tela permite que scripts maliciosos sejam executados nos navegadores. Correção: Use
htmlspecialchars()em toda a saída.Erros de Header Você não pode enviar um header após enviar qualquer texto ou espaços para o navegador. Correção: Coloque as chamadas
header()no topo de tudo. Sempre useexit()após um redirecionamento.Chaves de Formulário Ausentes Acessar uma chave de formulário que não existe causa erros. Correção: Use o operador de coalescência nula para fornecer um valor padrão.
Include vs Require O comando
includeapenas emite um aviso se um arquivo estiver faltando. O script continua rodando e trava mais tarde. Correção: Userequire_oncepara arquivos críticos, como conexões de banco de dados.Valores de Retorno não Verificados Muitas funções PHP retornam
falsese falharem. Usar esse valorfalseno próximo passo causa um erro. Correção: Verifique se a função retornoufalseantes de usar o resultado.
Resumo para um código melhor: • Ative o relatório de erros durante o desenvolvimento. • Use === em vez de ==. • Verifique os valores de retorno. • Sanitize todas as entradas do usuário.
Fonte: https://dev.to/bikkisingh/top-10-php-bugs-every-beginner-makes-and-how-to-fix-them-1anh