forked from monnerat/web_2025
correction-ulysse (#2)
# Correction pour les TP1 TP2 et TP3 Je n'ai pas testé la connexion à la DB pour le moment car je ne peux pas me co sur https://dwarves.iut-fbleau.fr/phpmyadmin Co-authored-by: JARNOUEN DE VILLARTAY Ulysse (SAFRAN AIRCRAFT ENGINES) <ulysse.jarnouen-de-villartay@safrangroup.com> Reviewed-on: monnerat/web_2025#2
This commit is contained in:
@@ -1,23 +1,45 @@
|
||||
<?php
|
||||
include 'include/controller.php';
|
||||
include_once 'include/controller.php';
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="./css/style.css">
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="./css/style.css">
|
||||
<title>Exercice 5</title>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<h3>Conjugaison</h3>
|
||||
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<?php if ($messageErreur !== '') : ?>
|
||||
<p><?php echo htmlspecialchars($messageErreur, ENT_QUOTES, 'UTF-8'); ?></p>
|
||||
<?php else : ?>
|
||||
<p>
|
||||
Verbe :
|
||||
<?php echo htmlspecialchars($verbe, ENT_QUOTES, 'UTF-8'); ?>
|
||||
</p>
|
||||
|
||||
</main>
|
||||
</body>
|
||||
<?php foreach ($conjugaisons as $conjugaison) : ?>
|
||||
<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>
|
||||
|
||||
@@ -1,12 +1,64 @@
|
||||
<?php
|
||||
$terminaisons = array(
|
||||
"present"=>array("e","es","e","ons","ez","ent"),
|
||||
"futur"=>array("erai","eras","era","erons","erez","eront"),
|
||||
"imparfait"=>array("ais","ais","ait","ions","iez","aient")
|
||||
'present' => array('e', 'es', 'e', 'ons', 'ez', 'ent'),
|
||||
'futur' => array('erai', 'eras', 'era', 'erons', 'erez', 'eront'),
|
||||
'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);
|
||||
$radical = substr($verbe,0,strlen($verbe)-2);
|
||||
$pronoms = array('je', 'tu', 'il', 'nous', 'vous', 'ils');
|
||||
|
||||
$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