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