Partie 6 — Conditions PHP : if, else, elseif, switch (cas réels)
Après avoir appris les opérateurs et la logique, vous êtes prêt à utiliser l’un des outils les plus importants en PHP : les conditions.
Les conditions sont ce qui permet à un site web de réagir intelligemment. Sans conditions :
- Tout le monde verrait le même contenu
- Il n’y aurait aucune sécurité
- Aucun formulaire ne fonctionnerait
- Aucune application web ne serait possible
Dans cette partie, vous allez apprendre à utiliser :
- if
- else
- elseif
- switch
Le tout à travers des cas réels utilisés dans les vrais projets PHP.
1. Pourquoi les conditions sont essentielles en PHP
Une condition permet à PHP de répondre à une question :
👉 « Est-ce que cette condition est vraie ou fausse ? »
Selon la réponse, PHP exécute un code différent.
Exemples concrets :
- Un utilisateur est-il connecté ?
- Est-il administrateur ?
- A-t-il plus de 18 ans ?
- Le formulaire est-il valide ?
- Le produit est-il en stock ?
Toutes ces questions sont traitées avec des conditions.
2. La condition if : la base absolue
La structure if permet d’exécuter un bloc de code si une condition est vraie.
Syntaxe de base
<?php
if (condition) {
// code exécuté si la condition est vraie
}
?>
Exemple simple
<?php
$age = 20;
if ($age >= 18) {
echo "Vous êtes majeur";
}
?>
Si la condition est fausse, PHP ignore complètement le bloc.
3. if + else : gérer deux cas
La structure else permet de gérer le cas contraire.
Structure complète
<?php
if (condition) {
// si vrai
} else {
// si faux
}
?>
Cas réel : accès utilisateur
<?php
$connecte = false;
if ($connecte) {
echo "Bienvenue sur votre espace";
} else {
echo "Veuillez vous connecter";
}
?>
Ce type de logique est utilisé dans 99% des sites web.
4. elseif : gérer plusieurs conditions
Quand il y a plus de deux cas possibles, on utilise elseif.
Structure
<?php
if (condition1) {
// cas 1
} elseif (condition2) {
// cas 2
} else {
// cas final
}
?>
Cas réel : notation scolaire
<?php
$note = 14;
if ($note >= 16) {
echo "Très bien";
} elseif ($note >= 12) {
echo "Bien";
} elseif ($note >= 10) {
echo "Passable";
} else {
echo "Échec";
}
?>
PHP teste les conditions dans l’ordre.
👉 Dès qu’une condition est vraie, les autres ne sont plus testées.
5. Conditions imbriquées (if dans if)
Une condition peut en contenir une autre.
Cas réel : sécurité utilisateur
<?php
$connecte = true;
$admin = false;
if ($connecte) {
if ($admin) {
echo "Accès administrateur";
} else {
echo "Accès utilisateur";
}
} else {
echo "Accès refusé";
}
?>
Les conditions imbriquées sont puissantes, mais doivent rester lisibles.
6. L’opérateur ternaire (condition courte)
PHP propose une écriture raccourcie pour certaines conditions simples.
Syntaxe
condition ? valeur_si_vrai : valeur_si_faux;
Exemple
<?php $connecte = true; $message = $connecte ? "Bienvenue" : "Connexion requise"; echo $message; ?>
👉 À utiliser avec modération pour garder un code lisible.
7. switch : alternative propre à elseif
Quand on compare une même variable à plusieurs valeurs possibles, switch est plus propre.
Syntaxe
<?php
switch ($variable) {
case valeur1:
// code
break;
case valeur2:
// code
break;
default:
// code par défaut
}
?>
Cas réel : gestion de rôle
<?php
$role = "admin";
switch ($role) {
case "admin":
echo "Accès total";
break;
case "moderateur":
echo "Accès partiel";
break;
case "user":
echo "Accès limité";
break;
default:
echo "Rôle inconnu";
}
?>
👉 Le break est obligatoire pour éviter l’exécution des autres cas.
8. Erreurs fréquentes des débutants
- Oublier les accolades { }
- Confondre = et ==
- Oublier break dans switch
- Créer des conditions trop complexes
- Ne pas prévoir le cas par défaut
9. Mini-exercices pratiques
- Vérifier si un utilisateur est majeur
- Afficher un message selon le rôle
- Tester une note avec elseif
- Utiliser switch pour un menu simple
Conclusion
Les conditions sont le cerveau de PHP.
Vous savez maintenant :
- Prendre des décisions avec if
- Gérer plusieurs cas avec elseif
- Structurer proprement avec switch
Dans la prochaine partie, nous verrons comment répéter des actions avec les boucles PHP.