Compare commits
7 Commits
main
...
11386eed58
| Author | SHA1 | Date | |
|---|---|---|---|
| 11386eed58 | |||
| a8f617fa83 | |||
| ca49c90ffa | |||
| d82343a051 | |||
| d5c03b6d86 | |||
| 43e09b46ec | |||
| 6dd596e7b3 |
@@ -1,9 +1,9 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<body>
|
<body>
|
||||||
<?php
|
<?php
|
||||||
echo "<h1>hello world !!!</h1>";
|
echo "<h1>hello world !!!</h1>";
|
||||||
//phpinfo();
|
phpinfo();
|
||||||
?>
|
?>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+35
-10
@@ -1,17 +1,19 @@
|
|||||||
<?php
|
<?php
|
||||||
$clients = [
|
$clients = [
|
||||||
"Luc",
|
"Luc",
|
||||||
7 => "Paul",
|
7 => "Paul",
|
||||||
2 =>"Martin",
|
2 =>"Martin",
|
||||||
"Arnaud"
|
"Arnaud"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
var_dump($clients);
|
||||||
|
|
||||||
$produits = [
|
$produits = [
|
||||||
20 => "Chemise",
|
20 => "Chemise",
|
||||||
3 => "Pantalon",
|
3 => "Pantalon",
|
||||||
10 => "Jupe",
|
10 => "Jupe",
|
||||||
"Veste",
|
"Veste",
|
||||||
"Blouson"
|
"Blouson"
|
||||||
];
|
];
|
||||||
$array = ["a","b","c"];
|
$array = ["a","b","c"];
|
||||||
$array[] = "d";
|
$array[] = "d";
|
||||||
@@ -23,4 +25,27 @@ print_r($clients);
|
|||||||
print_r($produits);
|
print_r($produits);
|
||||||
print_r($array);
|
print_r($array);
|
||||||
echo "</pre>";
|
echo "</pre>";
|
||||||
|
|
||||||
|
// Exercice 2.1
|
||||||
|
$tab = [];
|
||||||
|
$somme = 0;
|
||||||
|
for ($i = 0; $i < 10; $i++) {
|
||||||
|
$somme += $i; // somme des entiers de 0 à i
|
||||||
|
$tab[$i] = $somme; // la clé i contient cette somme
|
||||||
|
}
|
||||||
|
print_r($tab);
|
||||||
|
|
||||||
|
|
||||||
|
// Exercice 2.2
|
||||||
|
for ($debut = 1; $debut <= 50; $debut += 10) {
|
||||||
|
echo "<p>";
|
||||||
|
for ($i = $debut; $i < $debut + 10; $i++) {
|
||||||
|
if ($i % 2 === 0) {
|
||||||
|
echo "<strong>$i</strong> ";
|
||||||
|
} else {
|
||||||
|
echo "<em>$i</em> ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "</p>";
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
+48
-31
@@ -3,36 +3,53 @@ include './include/data.inc.php';
|
|||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="fr">
|
<html lang="fr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>tp1 - ex3</title>
|
<title>tp1 - ex3</title>
|
||||||
<link
|
<link
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
||||||
>
|
>
|
||||||
<link rel="stylesheet" href="./css/style.css">
|
<link rel="stylesheet" href="./css/style.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<main>
|
<main>
|
||||||
<h2>Exercice 3 : IMC </h2>
|
<h2>Exercice 3 : IMC </h2>
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Nom</th>
|
<th>Nom</th>
|
||||||
<th>Prénom</th>
|
<th>Prénom</th>
|
||||||
<th>Email</th>
|
<th>Email</th>
|
||||||
<th>Taille</th>
|
<th>Taille</th>
|
||||||
<th>Poids</th>
|
<th>Poids</th>
|
||||||
<th>IMC</th>
|
<th>IMC</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
<?php include_once './include/data.inc.php'; ?>
|
||||||
|
<?php foreach ($data as $person) : ?>
|
||||||
|
<?php
|
||||||
|
$poids = (float) $person['Poids'];
|
||||||
|
$tailleM = (float) $person['Taille'] / 100;
|
||||||
|
|
||||||
<!-- À compléter -->
|
$imc = null;
|
||||||
|
if ($tailleM > 0) {
|
||||||
</tbody>
|
$imc = $poids / ($tailleM * $tailleM);
|
||||||
</table>
|
}
|
||||||
</main>
|
?>
|
||||||
</body>
|
<tr class="<?= $imc < 18.5 ? 'underweight' : ($imc < 25 ? 'normal' : 'warning') ?>">
|
||||||
|
<td><?= $person['Nom'] ?></td>
|
||||||
|
<td><?= $person['Prenom'] ?></td>
|
||||||
|
<td><?= $person['Email'] ?></td>
|
||||||
|
<td><?= $person['Taille'] ?></td>
|
||||||
|
<td><?= $person['Poids'] ?></td>
|
||||||
|
<td><?= round($imc, 2) ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,3 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
// Generate random values for two six-sided dice.
|
||||||
|
$die1 = mt_rand(1, 6);
|
||||||
|
$die2 = mt_rand(1, 6);
|
||||||
|
$sum = $die1 + $die2;
|
||||||
|
|
||||||
|
// Map dice values to matching SVG filenames.
|
||||||
|
$diceImages = [
|
||||||
|
1 => 'dice-six-faces-one.svg',
|
||||||
|
2 => 'dice-six-faces-two.svg',
|
||||||
|
3 => 'dice-six-faces-three.svg',
|
||||||
|
4 => 'dice-six-faces-four.svg',
|
||||||
|
5 => 'dice-six-faces-five.svg',
|
||||||
|
6 => 'dice-six-faces-six.svg',
|
||||||
|
];
|
||||||
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="fr">
|
<html lang="fr">
|
||||||
<head>
|
<head>
|
||||||
@@ -13,12 +29,12 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<main>
|
<main>
|
||||||
<h5><a href=""> Tirage aléatoire</a></h5>
|
<h5><a href="./">Tirage aléatoire</a></h5>
|
||||||
<article class="is-center">
|
<article class="is-center">
|
||||||
<img src='./img/dice-six-faces-five.svg'>
|
<img src="./img/<?= $diceImages[$die1] ?>" alt="Dé 1 : <?= $die1 ?>">
|
||||||
<img src='./img/dice-six-faces-one.svg'>
|
<img src="./img/<?= $diceImages[$die2] ?>" alt="Dé 2 : <?= $die2 ?>">
|
||||||
</article>
|
</article>
|
||||||
<h5>Somme = </h5>
|
<h5>Somme = <?= $sum ?></h5>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
function createPassword($n,$alphabet){
|
function createPassword($n,$alphabet) {
|
||||||
$length = strlen($alphabet);
|
$length = strlen($alphabet);
|
||||||
$password = "";
|
$password = "";
|
||||||
return $password;
|
return $password;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
+18
-17
@@ -1,26 +1,27 @@
|
|||||||
<?php
|
<?php
|
||||||
include 'include/controller.php';
|
include_once 'include/controller.php';
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
|
||||||
<head>
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
<link
|
<link
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
||||||
/>
|
/>
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" integrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" integrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||||
<link rel="stylesheet" href="./css/style.css">
|
<link rel="stylesheet" href="./css/style.css">
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<title></title>
|
<title>Exercice 1</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<main>
|
<main>
|
||||||
<ul>
|
<ul>
|
||||||
<?php
|
<?php
|
||||||
echo "<li>$prenom $nom</li>";
|
echo '<li>' . htmlspecialchars($prenom . ' ' . $nom, ENT_QUOTES, 'UTF-8') . '</li>';
|
||||||
echo "<li><i class='fa-brands $icon fa-2x'></i></li>";
|
echo '<li>' . htmlspecialchars($systeme, ENT_QUOTES, 'UTF-8') . " <i class='fa-brands $icon fa-2x'></i></li>";
|
||||||
?>
|
?>
|
||||||
</ul>
|
</ul>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,2 +1,27 @@
|
|||||||
<?php
|
<?php
|
||||||
// TODO
|
|
||||||
|
$nom = '';
|
||||||
|
$prenom = '';
|
||||||
|
$systeme = '';
|
||||||
|
$icon = 'fa-circle-question';
|
||||||
|
|
||||||
|
$systemes = [
|
||||||
|
1 => ['nom' => 'Linux', 'icon' => 'fa-linux'],
|
||||||
|
2 => ['nom' => 'Windows', 'icon' => 'fa-windows'],
|
||||||
|
3 => ['nom' => 'macOS', 'icon' => 'fa-apple'],
|
||||||
|
4 => ['nom' => 'Android', 'icon' => 'fa-android'],
|
||||||
|
];
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$nomSaisi = trim((string) filter_input(INPUT_POST, 'nom', FILTER_UNSAFE_RAW));
|
||||||
|
$prenomSaisi = trim((string) filter_input(INPUT_POST, 'prenom', FILTER_UNSAFE_RAW));
|
||||||
|
$os = filter_input(INPUT_POST, 'os', FILTER_VALIDATE_INT);
|
||||||
|
|
||||||
|
$nom = ucfirst(strtolower($nomSaisi));
|
||||||
|
$prenom = ucfirst(strtolower($prenomSaisi));
|
||||||
|
|
||||||
|
if (isset($systemes[$os])) {
|
||||||
|
$systeme = $systemes[$os]['nom'];
|
||||||
|
$icon = $systemes[$os]['icon'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,2 +1,21 @@
|
|||||||
<?php
|
<?php
|
||||||
// TODO
|
|
||||||
|
$table = filter_input(INPUT_GET, 'table', FILTER_VALIDATE_INT);
|
||||||
|
$tableSaisie = filter_input(INPUT_GET, 'table', FILTER_UNSAFE_RAW);
|
||||||
|
$tableSaisie = is_string($tableSaisie) ? trim($tableSaisie) : '';
|
||||||
|
|
||||||
|
$lignes = [];
|
||||||
|
$messageErreur = '';
|
||||||
|
|
||||||
|
if ($tableSaisie !== '') {
|
||||||
|
if ($table === false || $table === null) {
|
||||||
|
$messageErreur = 'Veuillez saisir un entier valide.';
|
||||||
|
} else {
|
||||||
|
for ($multiplicateur = 1; $multiplicateur <= 10; $multiplicateur++) {
|
||||||
|
$lignes[] = [
|
||||||
|
'multiplicateur' => $multiplicateur,
|
||||||
|
'resultat' => $table * $multiplicateur,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,23 +1,47 @@
|
|||||||
<?php
|
<?php
|
||||||
include 'include/controller.php';
|
include_once 'include/controller.php';
|
||||||
?>
|
?>
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html lang="fr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link
|
<link
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
||||||
/>
|
/>
|
||||||
<link rel="stylesheet" href="./css/style.css">
|
<link rel="stylesheet" href="./css/style.css">
|
||||||
</head>
|
<title>Exercice 2</title>
|
||||||
<body>
|
</head>
|
||||||
<main>
|
<body>
|
||||||
<h4>Table de multiplication</h4>
|
<main>
|
||||||
<form method="GET">
|
<h4>Table de multiplication</h4>
|
||||||
<input type=number name="table" placeholder="table">
|
<form method="GET">
|
||||||
<button type="submit">ENVOYER</button>
|
<input
|
||||||
</form>
|
type="number"
|
||||||
</main>
|
name="table"
|
||||||
</body>
|
placeholder="table"
|
||||||
|
value="<?php echo htmlspecialchars($tableSaisie, ENT_QUOTES, 'UTF-8'); ?>"
|
||||||
|
>
|
||||||
|
<button type="submit">ENVOYER</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<?php if ($messageErreur !== '') : ?>
|
||||||
|
<p><?php echo htmlspecialchars($messageErreur, ENT_QUOTES, 'UTF-8'); ?></p>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($table !== false && $table !== null) : ?>
|
||||||
|
<ul>
|
||||||
|
<?php foreach ($lignes as $ligne) : ?>
|
||||||
|
<li>
|
||||||
|
<?php echo htmlspecialchars((string) $table, ENT_QUOTES, 'UTF-8'); ?>
|
||||||
|
x
|
||||||
|
<?php echo htmlspecialchars((string) $ligne['multiplicateur'], ENT_QUOTES, 'UTF-8'); ?>
|
||||||
|
=
|
||||||
|
<?php echo htmlspecialchars((string) $ligne['resultat'], ENT_QUOTES, 'UTF-8'); ?>
|
||||||
|
</li>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
<?php endif; ?>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,34 +1,59 @@
|
|||||||
<?php
|
<?php
|
||||||
include 'include/controller.php';
|
include_once 'include/controller.php';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="fr">
|
<html lang="fr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<title></title>
|
<title>Exercice 3</title>
|
||||||
<link
|
<link
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css"
|
href="https://cdn.jsdelivr.net/npm/@picocss/pico.min.css"
|
||||||
/>
|
/>
|
||||||
<link rel="stylesheet" href="./css/style.css">
|
<link rel="stylesheet" href="./css/style.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<main class="container">
|
<main class="container">
|
||||||
<h3>Calculatrice</h3>
|
<h3>Calculatrice</h3>
|
||||||
<form method="POST">
|
<form method="POST">
|
||||||
<div class="grid">
|
<div class="grid">
|
||||||
<input placeholder="un nombre" type="number" step="any" name="op1" value ="" required>
|
<input
|
||||||
<select name="operation" required>
|
placeholder="un nombre"
|
||||||
<option value="+">+</option>
|
type="number"
|
||||||
<option value="-">-</option>
|
step="any"
|
||||||
<option value="x">x</option>
|
name="op1"
|
||||||
<option value="/">/</option>
|
value="<?php echo htmlspecialchars($valeurOp1, ENT_QUOTES, 'UTF-8'); ?>"
|
||||||
</select>
|
required
|
||||||
<input placeholder="un nombre" type="number" step="any" name="op2" required>
|
>
|
||||||
<button type="submit" name="soumis"> Calculer</button>
|
<select name="operation" required>
|
||||||
</grid>
|
<option value="+" <?php echo $operation === '+' ? 'selected' : ''; ?>>+</option>
|
||||||
</form>
|
<option value="-" <?php echo $operation === '-' ? 'selected' : ''; ?>>-</option>
|
||||||
</main>
|
<option value="x" <?php echo $operation === 'x' ? 'selected' : ''; ?>>x</option>
|
||||||
</body>
|
<option value="/" <?php echo $operation === '/' ? 'selected' : ''; ?>>/</option>
|
||||||
|
</select>
|
||||||
|
<input
|
||||||
|
placeholder="un nombre"
|
||||||
|
type="number"
|
||||||
|
step="any"
|
||||||
|
name="op2"
|
||||||
|
value="<?php echo htmlspecialchars($valeurOp2, ENT_QUOTES, 'UTF-8'); ?>"
|
||||||
|
required
|
||||||
|
>
|
||||||
|
<button type="submit" name="soumis">Calculer</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<?php if ($messageErreur !== '') : ?>
|
||||||
|
<p><?php echo htmlspecialchars($messageErreur, ENT_QUOTES, 'UTF-8'); ?></p>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if ($aCalcule) : ?>
|
||||||
|
<p>
|
||||||
|
Résultat :
|
||||||
|
<?php echo htmlspecialchars($valeurOp1, ENT_QUOTES, 'UTF-8'); ?>
|
||||||
|
</p>
|
||||||
|
<?php endif; ?>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,2 +1,56 @@
|
|||||||
<?php
|
<?php
|
||||||
//TODO
|
|
||||||
|
$op1Saisi = filter_input(INPUT_POST, 'op1', FILTER_UNSAFE_RAW);
|
||||||
|
$op2Saisi = filter_input(INPUT_POST, 'op2', FILTER_UNSAFE_RAW);
|
||||||
|
$operationSaisie = filter_input(INPUT_POST, 'operation', FILTER_UNSAFE_RAW);
|
||||||
|
|
||||||
|
$op1Saisi = is_string($op1Saisi) ? trim($op1Saisi) : '';
|
||||||
|
$op2Saisi = is_string($op2Saisi) ? trim($op2Saisi) : '';
|
||||||
|
$operationSaisie = is_string($operationSaisie) ? trim($operationSaisie) : '+';
|
||||||
|
|
||||||
|
$operationsAutorisees = ['+', '-', 'x', '/'];
|
||||||
|
$operation = in_array($operationSaisie, $operationsAutorisees, true) ? $operationSaisie : '+';
|
||||||
|
|
||||||
|
$resultat = null;
|
||||||
|
$messageErreur = '';
|
||||||
|
$aCalcule = false;
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$op1 = filter_var($op1Saisi, FILTER_VALIDATE_FLOAT);
|
||||||
|
$op2 = filter_var($op2Saisi, FILTER_VALIDATE_FLOAT);
|
||||||
|
|
||||||
|
if ($op1 === false || $op2 === false) {
|
||||||
|
$messageErreur = 'Veuillez saisir deux nombres valides.';
|
||||||
|
} elseif (!in_array($operation, $operationsAutorisees, true)) {
|
||||||
|
$messageErreur = 'Veuillez choisir une opération valide.';
|
||||||
|
} elseif ($operation === '/' && (float) $op2 == 0.0) {
|
||||||
|
$messageErreur = 'La division par zéro est impossible.';
|
||||||
|
} else {
|
||||||
|
$aCalcule = true;
|
||||||
|
|
||||||
|
switch ($operation) {
|
||||||
|
case '+':
|
||||||
|
$resultat = $op1 + $op2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case '-':
|
||||||
|
$resultat = $op1 - $op2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'x':
|
||||||
|
$resultat = $op1 * $op2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case '/':
|
||||||
|
$resultat = $op1 / $op2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$messageErreur = 'Veuillez choisir une opération valide.';
|
||||||
|
$aCalcule = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$valeurOp1 = $aCalcule ? (string) $resultat : $op1Saisi;
|
||||||
|
$valeurOp2 = $op2Saisi;
|
||||||
|
|||||||
@@ -2,3 +2,13 @@ button{
|
|||||||
|
|
||||||
float:right;
|
float:right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bonne-reponse {
|
||||||
|
color: #1b7f3a;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mauvaise-reponse {
|
||||||
|
color: #c62828;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|||||||
+79
-15
@@ -1,17 +1,81 @@
|
|||||||
|
<?php
|
||||||
|
$nombreQuestions = 0;
|
||||||
|
$score = 0;
|
||||||
|
$questionsTraitees = 0;
|
||||||
|
$message = 'Aucun resultat a afficher.';
|
||||||
|
$resultatsParQuestion = [];
|
||||||
|
|
||||||
|
$nombreQuestionsSaisi = filter_input(INPUT_POST, 'nbq', FILTER_VALIDATE_INT);
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $nombreQuestionsSaisi !== false && $nombreQuestionsSaisi !== null) {
|
||||||
|
$nombreQuestions = $nombreQuestionsSaisi;
|
||||||
|
$message = '';
|
||||||
|
|
||||||
|
for ($index = 1; $index <= $nombreQuestions; $index++) {
|
||||||
|
$reponse = filter_input(INPUT_POST, 'question' . $index, FILTER_UNSAFE_RAW);
|
||||||
|
|
||||||
|
if ($reponse !== null) {
|
||||||
|
$questionsTraitees++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($reponse === 'vrai') {
|
||||||
|
$score++;
|
||||||
|
$resultatsParQuestion[] = [
|
||||||
|
'numero' => $index,
|
||||||
|
'classe' => 'bonne-reponse',
|
||||||
|
'message' => 'Bonne reponse',
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
$resultatsParQuestion[] = [
|
||||||
|
'numero' => $index,
|
||||||
|
'classe' => 'mauvaise-reponse',
|
||||||
|
'message' => 'Mauvaise reponse',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="fr">
|
||||||
<head>
|
<head>
|
||||||
<link rel="stylesheet" href="./css/style.css">
|
<link rel="stylesheet" href="./css/style.css">
|
||||||
<link
|
<link
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
||||||
/>
|
/>
|
||||||
<title></title>
|
<meta charset="UTF-8" />
|
||||||
</head>
|
<title>Exercice 4</title>
|
||||||
<body>
|
</head>
|
||||||
<main>
|
<body>
|
||||||
<h4>Réponses</h4>
|
<main>
|
||||||
</div>
|
<h4>Resultat du quizz</h4>
|
||||||
</main>
|
<?php if ($message !== '') : ?>
|
||||||
</body>
|
<p><?php echo htmlspecialchars($message, ENT_QUOTES, 'UTF-8'); ?></p>
|
||||||
|
<?php else : ?>
|
||||||
|
<p>
|
||||||
|
Vous avez obtenu
|
||||||
|
<?php echo htmlspecialchars((string) $score, ENT_QUOTES, 'UTF-8'); ?>
|
||||||
|
bonne(s) reponse(s) sur
|
||||||
|
<?php echo htmlspecialchars((string) $nombreQuestions, ENT_QUOTES, 'UTF-8'); ?>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Questions repondues :
|
||||||
|
<?php echo htmlspecialchars((string) $questionsTraitees, ENT_QUOTES, 'UTF-8'); ?>.
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<?php foreach ($resultatsParQuestion as $resultatQuestion) : ?>
|
||||||
|
<li>
|
||||||
|
Question <?php echo htmlspecialchars((string) $resultatQuestion['numero'], ENT_QUOTES, 'UTF-8'); ?> :
|
||||||
|
<span class="<?php echo htmlspecialchars($resultatQuestion['classe'], ENT_QUOTES, 'UTF-8'); ?>">
|
||||||
|
<?php echo htmlspecialchars($resultatQuestion['message'], ENT_QUOTES, 'UTF-8'); ?>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
<?php endif; ?>
|
||||||
|
<p>
|
||||||
|
<a href="quizz.html">Revenir au quizz</a>
|
||||||
|
</p>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,23 +1,45 @@
|
|||||||
<?php
|
<?php
|
||||||
include 'include/controller.php';
|
include_once 'include/controller.php';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="fr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link
|
<link
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
||||||
/>
|
/>
|
||||||
<link rel="stylesheet" href="./css/style.css">
|
<link rel="stylesheet" href="./css/style.css">
|
||||||
|
<title>Exercice 5</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<h3>Conjugaison</h3>
|
||||||
|
|
||||||
<title></title>
|
<?php if ($messageErreur !== '') : ?>
|
||||||
</head>
|
<p><?php echo htmlspecialchars($messageErreur, ENT_QUOTES, 'UTF-8'); ?></p>
|
||||||
<body>
|
<?php else : ?>
|
||||||
<main>
|
<p>
|
||||||
|
Verbe :
|
||||||
|
<?php echo htmlspecialchars($verbe, ENT_QUOTES, 'UTF-8'); ?>
|
||||||
|
</p>
|
||||||
|
|
||||||
</main>
|
<?php foreach ($conjugaisons as $conjugaison) : ?>
|
||||||
</body>
|
<section>
|
||||||
|
<h4><?php echo htmlspecialchars($conjugaison['temps'], ENT_QUOTES, 'UTF-8'); ?></h4>
|
||||||
|
<ul>
|
||||||
|
<?php foreach ($conjugaison['formes'] as $forme) : ?>
|
||||||
|
<li><?php echo htmlspecialchars($forme, ENT_QUOTES, 'UTF-8'); ?></li>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="ex5.html">Retour au formulaire</a>
|
||||||
|
</p>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,12 +1,64 @@
|
|||||||
<?php
|
<?php
|
||||||
$terminaisons = array(
|
$terminaisons = array(
|
||||||
"present"=>array("e","es","e","ons","ez","ent"),
|
'present' => array('e', 'es', 'e', 'ons', 'ez', 'ent'),
|
||||||
"futur"=>array("erai","eras","era","erons","erez","eront"),
|
'futur' => array('erai', 'eras', 'era', 'erons', 'erez', 'eront'),
|
||||||
"imparfait"=>array("ais","ais","ait","ions","iez","aient")
|
'imparfait' => array('ais', 'ais', 'ait', 'ions', 'iez', 'aient')
|
||||||
);
|
);
|
||||||
|
|
||||||
$pronoms=array("je","tu","il","nous","vous","ils");
|
$libellesTemps = array(
|
||||||
|
'present' => 'Present',
|
||||||
|
'futur' => 'Futur',
|
||||||
|
'imparfait' => 'Imparfait'
|
||||||
|
);
|
||||||
|
|
||||||
$verbe = filter_input(INPUT_POST,"verbe",FILTER_SANITIZE_STRING);
|
$pronoms = array('je', 'tu', 'il', 'nous', 'vous', 'ils');
|
||||||
$radical = substr($verbe,0,strlen($verbe)-2);
|
|
||||||
|
$verbeSaisi = filter_input(INPUT_POST, 'verbe', FILTER_UNSAFE_RAW);
|
||||||
|
$verbeSaisi = is_string($verbeSaisi) ? trim($verbeSaisi) : '';
|
||||||
|
$verbe = strtolower($verbeSaisi);
|
||||||
|
|
||||||
|
$tempsChoisis = filter_input(INPUT_POST, 'temps', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
|
||||||
|
$tempsChoisis = is_array($tempsChoisis) ? $tempsChoisis : array();
|
||||||
|
|
||||||
|
$messageErreur = '';
|
||||||
|
$conjugaisons = array();
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
if ($verbe === '') {
|
||||||
|
$messageErreur = 'Veuillez saisir un verbe.';
|
||||||
|
} elseif (strlen($verbe) < 3 || substr($verbe, -2) !== 'er') {
|
||||||
|
$messageErreur = 'Veuillez saisir un verbe du premier groupe.';
|
||||||
|
} elseif ($tempsChoisis === array()) {
|
||||||
|
$messageErreur = 'Veuillez choisir au moins un temps.';
|
||||||
|
} else {
|
||||||
|
$radical = substr($verbe, 0, strlen($verbe) - 2);
|
||||||
|
|
||||||
|
foreach ($tempsChoisis as $temps) {
|
||||||
|
if (!isset($terminaisons[$temps], $libellesTemps[$temps])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$formes = array();
|
||||||
|
|
||||||
|
foreach ($pronoms as $index => $pronom) {
|
||||||
|
$forme = $radical . $terminaisons[$temps][$index];
|
||||||
|
|
||||||
|
if ($pronom === 'je' && preg_match('/^[aeiouh]/', $forme) === 1) {
|
||||||
|
$formes[] = "j'" . $forme;
|
||||||
|
} else {
|
||||||
|
$formes[] = $pronom . ' ' . $forme;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$conjugaisons[] = array(
|
||||||
|
'temps' => $libellesTemps[$temps],
|
||||||
|
'formes' => $formes
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($conjugaisons === array()) {
|
||||||
|
$messageErreur = 'Aucun temps valide n a ete transmis.';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user