Les 10 erreurs PHP les plus courantes chez les débutants

Vous écrivez du code. Vous actualisez la page. Vous voyez un écran blanc vide.

Cela arrive parce que PHP échoue silencieusement par défaut. Vous devez le forcer à afficher les erreurs pendant le développement.

Ajoutez ces lignes au sommet de vos fichiers :

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

N'utilisez pas cela en production. Utilisez plutôt des fichiers de logs.

Voici 10 erreurs courantes et comment les corriger :

  • Point-virgule manquant PHP s'arrête de fonctionner si vous oubliez un point-virgule. Cela provoque souvent un plantage silencieux. Correction : Assurez-vous que chaque instruction se termine par un point-virgule.

  • Comparaison faible (== vs ===) Le signe égal double effectue une conversion de type (coercion). Cela entraîne des erreurs de logique. Correction : Utilisez le triple égal (===). Il vérifie à la fois la valeur et le type.

  • Variables non définies Utiliser une variable avant de lui assigner une valeur casse votre logique. Correction : Utilisez l'opérateur de fusion null (null coalescing operator). Exemple : $name = $_GET['name'] ?? 'Guest';

  • Portée des variables globales Les fonctions ne peuvent pas voir les variables situées en dehors d'elles. Correction : Passez les variables aux fonctions en tant que paramètres.

  • Injection SQL Construire des requêtes avec des entrées utilisateur permet aux pirates de voler des données. Correction : Utilisez des requêtes préparées avec des marqueurs de position (?).

  • Cross-Site Scripting (XSS) Afficher directement les entrées utilisateur permet à des scripts malveillants de s'exécuter dans les navigateurs. Correction : Enveloppez la sortie dans htmlspecialchars().

  • En-têtes déjà envoyés (Headers Already Sent) Vous ne pouvez pas rediriger un utilisateur si vous avez déjà envoyé du texte au navigateur. Même un seul espace provoque cette erreur. Correction : Placez les appels header() tout en haut. Utilisez toujours exit() après une redirection.

  • Clés de tableau non définies L'accès à une clé de formulaire qui n'existe pas provoque des avertissements. Correction : Utilisez l'opérateur de fusion null pour toutes les données $_POST et $_GET.

  • Include vs Require include affiche seulement un avertissement si un fichier est manquant. Le script continue de s'exécuter et plante plus tard. Correction : Utilisez require_once pour les fichiers critiques comme les connexions à la base de données.

  • Valeurs de retour non vérifiées De nombreuses fonctions PHP renvoient false en cas d'échec. Si vous utilisez ce résultat immédiatement, vous obtiendrez d'autres erreurs. Correction : Vérifiez si le résultat est false avant de l'utiliser.

Résumé pour réussir :

  • Activez le rapport d'erreurs en développement.
  • Utilisez === pour toutes les comparaisons.
  • Nettoyez (sanitize) toutes les entrées utilisateur.
  • Vérifiez les valeurs de retour.

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