Les conditions en PHP - Switch - If.

Les conditions (structures de contrôle) permettent de définir un bloc d'instructions et la façon dont il sera exécuté. Elles permettent d'afficher des données différentes comme par exemple une citation en fonction du jour de la semaine.

SWITCH

L'instruction switch est la plus pratique lorsque le nombre de conditions à tester est importante.
L'instruction switch vous permet de comparer une variable avec des valeurs différentes. Dans l'exemple que nous avons ci-dessous , nous allons comparer la variable $jour avec des instructions différentes à chaque jour du mois.

L'instruction s'exécute ligne par ligne .
La valeur de la variable est comparée à chaque case.
Lorsque l'analyseur php trouve une valeur égale, il exécute les instructions qui suivent à moins qu'il ne trouve break.
Break permet de stopper une instruction.
La commande default permet de définir des instructions par défaut.

Dans le cas de l'exemple que nous allons prendre, certains jours ne sont pas définis.
C'est donc la commande default qui prendra le relais et indiquera l'instruction que vous lui avez défini.

Afin de bien comprendre l'instruction switch nous allons afficher une citation suivant le jour du mois.

Écrivez sur une nouvelle page que vous pouvez nommer citation.php :

<?
//affichage d'une citation suivant le jour du mois
$jour = date("j");
switch ($jour)
{
case 1:
case 8:
case 16:
echo "Il n'y a qu'un remède à l'amour : aimer davantage. [Henry David Thoreau]";
break;
case 2:
case 9:
case 17:
echo "Il faut se ressembler un peu pour se comprendre, mais il faut être un peu différent pour s'aimer. [Paul Géraldy] ";
break;
case 3:
case 10:
case 18:
echo "Amour, amour, quand tu nous tiens, on peut bien dire : Adieu prudence. [Jean de La Fontaine] ";
break;
case 4: 
case 11:
case 20: 
echo "Le pessimisme est d'humeur ; l'optimisme est de volonté. [Alain] ";
break;
case 5:
case 12:
case 21:
echo "Je suis pour l'égalité des sexes, je prendrai moi-même les mesures.[Thierry Le Luron] ";
break;
default:
echo "A chaque jour sa citation";
}
?>

Attention! vous pouvez remarquer:
Après switch ($jour), il n'y a pas de point virgule.
Il s'ensuit une accolade qu'il faudra penser à refermer.
Après case, il y a deux points et non un point virgule.
N'hésitez pas à tester switch avec d'autres variables.

L'instruction if

Avec if, si la condition est vraie, toutes les instructions sont exécutées, else et elseif permettent de tester d'autres alternatives.
Nous allons désormais utiliser if en prenant comme exemple : le jour de la semaine et les saisons.

Afficher le jour de la semaine en français :
( le code aurait pu être simplifié mais cela vous permet de comprendre l'utilisation d'if):

Écrivez :

<? 
//le jour de la semaine 
$aujourdui = date( "l");
if($aujourdui == "Monday") 
{ 
echo "Nous sommes lundi"; 
}
elseif($aujourdui == "Tuesday")
{ 
echo "Nous sommes Mardi"; 
}
elseif($aujourdui == "Wednesday")
{ 
echo "Nous sommes Mercredi"; 
}
elseif($aujourdui == "Thursday")
{ 
echo "Nous sommes Jeudi"; 
} 
elseif($aujourdui == "Friday")
{ 
echo "Nous sommes Vendredi"; 
}
elseif($aujourdui == "Saturday")
{ 
echo "Nous sommes Samedi"; 
}
elseif($aujourdui == "Sunnday")
{ 
echo "Nous sommes Dimanche"; 
}
?>

2ème exemple: Afficher les saisons
Nous en profitons pour utiliser des opérateurs :
>= (Plus grand ou égal)
< (Plus petit que)
&& ou AND (et)

Ecrivez :

<?
//les saisons

$mois = date("m");


if($mois>=6 && $mois<9)
{ 
echo "Nous sommes en été"; 
} 
elseif($mois>=3 && $mois<5) 
{ 
echo "Nous sommes au printemps"; 
}
?>

Voici une liste d'opérateurs, n'hésitez pas à les tester.

opérateur PHP

A vous maintenant, vous avez vu les formulaires et les conditions.
Créez un formulaire où sera demandé le nom, prénom et âge.
En réponse à ce formulaire, vous laisserez le message suivant si la personne à moins de 18 ans :
"bonjour prenom, vous avez moins de 18 ans, vous ne pouvez pas entrer sur le site"
et si la personne a 18 ans ou plus :
"bienvenue prenom sur notre site"

Vérifiez bien toute la syntaxe ainsi que les guillemets. Il suffit d'un guillemet manquant pour avoir une page blanche.

⇒ Voir le code source du formulaire avec condition

Retour haut de page