I 10 bug PHP più comuni che ogni principiante commette
Scrivi il codice. Aggiorni la pagina. Vedi una schermata bianca vuota.
Questo accade perché PHP fallisce silenziosamente per impostazione predefinita. Se non vedi gli errori, non puoi risolverli.
Inizia lo sviluppo aggiungendo queste righe in cima al tuo file:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
Questo costringe PHP a mostrarti cosa non va. Non usare questo metodo in produzione.
Ecco 10 bug comuni e come risolverli.
Punto e virgola mancanti PHP ha bisogno di un punto e virgola per terminare un'istruzione. Se ne dimentichi uno, lo script si interrompe. Soluzione: termina sempre le tue righe con un punto e virgola.
Confronto debole (Loose Comparison) L'operatore == cambia i tipi prima di confrontarli. Ciò porta a risultati errati. Soluzione: Usa ===. Questo controlla sia il valore che il tipo.
Variabili non definite L'uso di una variabile che non hai creato causa errori logici. Soluzione: Usa l'operatore null coalescing.
$name = $_GET['name'] ?? 'Guest';Ambito delle variabili globali (Global Variable Scope) Le funzioni non possono vedere le variabili esterne ad esse. Soluzione: Passa le variabili alle funzioni come parametri.
SQL Injection Inserire direttamente l'input dell'utente in una query è pericoloso. Gli attaccanti possono rubare i tuoi dati. Soluzione: Usa le prepared statements con i placeholder.
Cross-Site Scripting (XSS) Stampare l'input dell'utente non filtrato sullo schermo permette l'esecuzione di script malevoli nei browser. Soluzione: Usa
htmlspecialchars()su tutti gli output.Errori negli header Non puoi inviare un header dopo aver inviato del testo o degli spazi al browser. Soluzione: Inserisci le chiamate
header()all'inizio del file. Usa sempreexit()dopo un redirect.Chiavi del modulo mancanti Accedere a una chiave di un modulo che non esiste causa errori. Soluzione: Usa l'operatore null coalescing per fornire un valore predefinito.
Include vs Require Il comando
includegenera solo un avviso se un file manca. Lo script continua a girare e crasha in seguito. Soluzione: Usarequire_onceper i file critici, come le connessioni al database.Valori di ritorno non controllati Molte funzioni PHP restituiscono
falsese falliscono. Usare quel valorefalsenel passaggio successivo causa un crash. Soluzione: Controlla se la funzione ha restituitofalseprima di usare il risultato.
Riassunto per un codice migliore: • Attiva la segnalazione degli errori in fase di sviluppo. • Usa === invece di ==. • Controlla i valori di ritorno. • Sanifica tutti gli input dell'utente.
Fonte: https://dev.to/bikkisingh/top-10-php-bugs-every-beginner-makes-and-how-to-fix-them-1anh