Instruction conditionnelle : Quel âge as-tu ?

Quel âge as-tu ?

Voilà la question que nous allons poser aux internautes via un petit formulaire HTML. Le langage PHP se chargera de répondre selon l'âge saisi grâce à l'instruction conditionnelle if.

Cahier des charges :

  • 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>

Articles connexes

Formulaire et vérification de contenus Vérification de la validité d'un email avec la fonction strpos() Il existe toutes sortes de techniques pour vérifier la validité d'un email. La plus simple consiste à taper l'a...
Tableau associatif $_GET Le tableau $_GET permet de transmettre des valeurs de variables vers une autre page en passant par la barre d'adresse du navigateur. Intérêt de la méthode GET L'in...
Lire et afficher une table MySQL Affichage du contenu de la table carnet dans une page HTML Voici un code PHP pour lire et afficher le contenu de la table carnet dans une page HTML. affichage.php
Newsletter Avant de concevoir une newsletter, il convient de maitriser la fonction mail(). Quelques rappels : Envoi d'un email en texte brut ...
Alimenter une table MySQL via un formulaire HTML Voici le formulaire HTML permettant d'ajouter un enregistrement dans notre table carnet. ajouter.html &l...