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 useexit()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
$_POSTe$_GET.Include vs Require O
includeapenas mostra um aviso se um arquivo estiver faltando. O script continua rodando e falha 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
falseem caso de falha. Se você usar esse resultado imediatamente, terá mais erros. Correção: Verifique se o resultado éfalseantes 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