Instruction conditionnelle : Quel âge as-tu ?

Nous allons demander l'âge de l'utilisateur via un petit formulaire HTML. Le langage PHP se chargera de répondre selon l'âge saisi, grâce à l'instruction conditionnelle if.

Quel âge as-tu ?

  • Si l'âge est inférieur à 18 ans, répondre : "Tu es trop jeune."
  • Si l'âge est supérieur ou égal à 18 ans et inférieur à 60 ans, répondre : "Tu as l'âge idéal."
  • Si l'âge est supérieur ou égal à 60 ans, répondre : "Profite de la retraite."

Version simple

Tout d'abord, un formulaire HTML simple, nommé age.html dont l'action se chargera d’exécuter la page age.php

age.html

<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
	</head>
	<body>
		<h1>Quel âge as-tu ?</h1>
		<form method="post" action="age.php">
			<input type="text" name="age" required>
			<input type="submit" value="OK">
		</form>
	</body>
</html>

Le formulaire utilisant la méthode POST, les données seront envoyées de manière cachée à la page age.php. Comme le champ de texte contient l'attribut name="age", la variable contenant l'âge sera $_POST['age']

age.php

<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Age</title>
	</head>
	<body>
		<h1>Quel âge as-tu ?</h1>
		<p>
		<?php
		if ($_POST['age'] < 18)
			echo "Tu es trop jeune.";

		if ($_POST['age'] >= 18 && $_POST['age'] < 60)
			echo "Tu as l'âge idéal.";

		if ($_POST['age'] >= 60)
			echo "Profite de la retraite.";
		?>
		</p>
	</body>
</html>

Un peu d'élégance avec la fonction isset()

La fonction isset() permet de vérifier l'existence d'une variable. Grâce à son usage, nous allons pouvoir fusionner les pages age.html et age.php.

ageelegant.php

<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Age</title>
	</head>
	<body>
		<h1>Quel âge as-tu ?</h1>
		<form method="post">
			<input type="text" name="age">
			<input type="submit" value="OK">
		</form>
		<?php
		// Si le formulaire est envoyé
		if (isset($_POST['age'])) {
			if ($_POST['age'] >= 60)
				echo "Ne manque pas le prochain épisode de Plus belle la vie.";
				
			if ($_POST['age'] >= 18 && $_POST['age'] < 60)
				echo "Tu as l'âge idéal.";

			if ($_POST['age'] < 18)
				echo "Tu es trop jeune.";
		}
		?>
	</body>
</html>

Vérification d'une chaine vide

Même si l'attribut HTML required peut résoudre le problème de la chaine vide, on peut ici utiliser la fonction empty() qui a l'avantage de fonctionner partout (même avec Internet Explorer 8, pour désigner le coupable).

ageelegant.php

<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Age</title>
	</head>
	<body>
		<h1>Quel âge as-tu ?</h1>
		<form method="post">
			<input type="text" name="age">
			<input type="submit" value="OK">
		</form>
		<?php
		// Si la variable age n'est vide 
		if (!empty($_POST['age'])) {
            if($_POST['age'] >= 60)
                echo "Ne manque pas le prochain épisode de Plus belle la vie.";

            if ($_POST['age'] >= 18 && $_POST['age'] < 60)
                echo "Tu as l'âge idéal.";

            if ($_POST['age'] < 18)
                echo "Tu es trop jeune.";
        }
		?>
	</body>
</html>
Logo lesdocs
Résumé de la politique de confidentialité

Ce site collecte des données statistiques via Google Analytics et les commentaires éventuels déposés dans les articles. Plus d'informations sur notre page Politique de confidentialité.