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.

  1. 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.

  2. 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.

  3. 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';

  4. 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.

  5. 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.

  6. 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.

  7. 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 sempre exit() dopo un redirect.

  8. 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.

  9. Include vs Require Il comando include genera solo un avviso se un file manca. Lo script continua a girare e crasha in seguito. Soluzione: Usa require_once per i file critici, come le connessioni al database.

  10. Valori di ritorno non controllati Molte funzioni PHP restituiscono false se falliscono. Usare quel valore false nel passaggio successivo causa un crash. Soluzione: Controlla se la funzione ha restituito false prima 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