Exercices élèves

This commit is contained in:
jmd 2025-01-25 16:43:59 +01:00
commit 1886d2baee
6 changed files with 269 additions and 0 deletions

4
README.md Normal file
View File

@ -0,0 +1,4 @@
# PHP : TD04
Le fichier **index.php** est la page d'accueil comportant les formulaires pour les 3 exercices.

45
exercice1.php Normal file
View File

@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exercice 1</title>
</head>
<?php
$mois = [
1 => "janvier",
2 => "février",
#SUITE DU TABLEAU A COMPLETER
];
#Cette condition vérifie que le numéro saisi par l'utilisateur est bien présent dans le tableau
if ( array_key_exists($_GET["numero"], $mois) == false ){
header('Location: index.php?error=ex1');
}
#FONCTION A COMPLETER
function afficherMois($mois) {
// Cette fonction doit afficher la liste des 12 mois définis dans le tableau
// $mois ci-dessus, au format :
// <p>Le mois n° NumeroDuMois est le mois de NomDuMois.</p>
}
?>
<body>
<!-- FAIRE AFFICHER LE MOIS CHOISI PAR L'UTILSATEUR -->
<h1>Vous avez choisi le mois de ....... !</h1>
<h3>Pour rappel, les mois de l'année sont :</h3>
<!-- FAIRE AFFICHER LES MOIS CONTENUS DANS LE TABLEAU
Utiliser la fonction afficherMois() définie ci-dessus !
-->
<?php include("footer.php");?>
</body>
</html>

51
exercice2.php Normal file
View File

@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exercice 2</title>
</head>
<?php
#Cette condition vérifie que le bon nombre de notes est fourni
if ( count($_GET) != 10 ){
header('Location: index.php?error=ex2');
}
#Cette condition vérifie que chaque note est bien un nombre compris entre 0 et 20
foreach ($_GET as $note){
if ($note <0 || $note >20){
header('Location: index.php?error=ex2');
}
}
$notes = [];
#COMPLETER LE TABLEAU AVEC LES NOTES
// On pourra judicieusement s'inspirer de la synaxe utilisée dans la
// vérification ci-dessus.
#CALCULER LA MOYENNE ET LA STOCKER DANS UNE VARIABLE
#CALCULER LA NOTE MAXIMALE ET LA STOCKER DANS UNE VARIABLE
?>
<body>
<h1>Les notes obtenues sont : </h1>
<!-- FAIRE AFFICHER une liste des notes obtenues -->
<!-- COMPLETER LES DEUX LIGNES CI-DESSOUS -->
<h3>La moyenne est de : ...........</h3>
<h3>La note la plus haute obtenue est : ............</h3>
<?php include("footer.php");?>
</body>
</html>

61
exercice3.php Normal file
View File

@ -0,0 +1,61 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exercice 3</title>
</head>
<?php
#Cette condition vérifie que des noms de participants sont bien fournis
if ( count($_GET) < 2 || count($_GET) > 10 ){
header('Location: index.php?error=ex3');
}
$tirage = [];
# COMPLETER LE TABLEAU $tirage avec 20 noms tirés au sort dans les valeurs de $_GET
$resultatTirage = []; #A MODIFIER
// Ce tableau doit contenir en CLES les participants du tirage,
// et en VALEURS le nombre de fois où ils ont été tirés au sort
// (la fonction permettant de faire cela est mentionnées dans le cours)
#Trie le tableau $resultatTirage par ordre croissant de valeurs
asort($resultatTirage);
?>
<body>
<h1>Résultats du tirage au sort :</h1>
<table>
<thead>
<th>Participant</th>
<th>Score</th>
</thead>
<!-- COMPLETER AVEC DU CODE PHP
Ce code ajoutera à la table autant de lignes que nécessaires
UNE ligne du tableau en pur code HTML aura le format suivant :
<tr>
<td>nomDuParticipant</td>
<td>scoreDuParticipant</td>
</tr>
-->
</table>
<!-- COMPLETER L'ANNONCE DU GAGNANT -->
<h3>Le grand gagnant est .............. ! </h3>
<?php include("footer.php");?>
</body>
</html>

1
footer.php Normal file
View File

@ -0,0 +1 @@
<h3><a href="index.php">Retour à l'accueil</a></h3>

107
index.php Normal file
View File

@ -0,0 +1,107 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TD04</title>
</head>
<body>
<h1>Exercice 1 : Les mois</h1>
<?php
# A EXPLIQUER DANS CORRECTION
if ($_GET["error"] == "ex1"){
?>
<h3>!! Attention, entez un nombre de mois valide !!</h3>
<?php
}
?>
<form action="exercice1.php" method="GET">
<input type="text" name="numero" placeholder="Entrez un numéro de mois" required>
<input type="submit" value="Envoyer" >
</form>
<h1>Exercice 2 : Tableau de notes</h1>
<?php
# A EXPLIQUER DANS CORRECTION
if ($_GET["error"] == "ex2"){
?>
<h3>!! Entrez exactement dix notes, comprises entre 0 et 20 !!</h3>
<?php
}
?>
<form action="exercice2.php" method="GET">
<legend>Saisissez 10 notes : </legend>
<?php
for ($i=0 ; $i<10 ; $i++){
?>
<input type="number" name="note<?=$i?>" min="0" max="20" required>
<?php
}
?>
<input type="submit" value="Envoyer" >
</form>
<h1>Exercice 3 : Tirage au sort</h1>
<?php
$afficherFormulaireNoms = false;
# A EXPLIQUER DANS CORRECTION
if ($_GET["nbParticipants"] != null){
if ($_GET["nbParticipants"] > 10 || $_GET["nbParticipants"] < 2 ){
?>
<h3>!! Entrez un nombre de participants valide !!</h3>
<?php
} else {
$afficherFormulaireNoms = true;
?>
<form action="exercice3.php" method="GET">
<?php
for ($i=0 ; $i < $_GET["nbParticipants"] ; $i++){
$numero = $i+1;
?>
<label>Entrez le nom du participant <?=$numero?> : <input type="text" name="name<?=$numero?>" required placeholder="Entrez "></label>
<br>
<?php
}
?>
<input type="submit" value="Envoyer" >
</form>
<?php
}
}
if ($afficherFormulaireNoms == false){
if ($_GET["error"] == "ex3"){
?>
<h3>!! Entrez un nombre de participants valide !!</h3>
<?php
}
?>
<form action="index.php">
<label>Entrez un nombre de participants entre 2 et 10 : <input type="text" name="nbParticipants" required placeholder="Nombre de participants"></label>
<input type="submit" value="Envoyer" >
</form>
<?php
}
?>
</body>
</html>