Remplacement de la liste des équipes par un input.

Vérification du numéro d'équipe avant d'envoyer à la page team_confirm.
This commit is contained in:
antux18 2023-09-01 20:36:37 -04:00
parent ccb1d7e8f1
commit 819731ca7b
7 changed files with 40 additions and 25 deletions

View File

@ -1,15 +1,26 @@
<?php <?php
require_once "require/base.php"; require_once "require/base.php";
$database = new Database();
// Si l'appareil a déjà choisi une équipe, on le redirige vers la bonne page : // Si l'appareil a déjà choisi une équipe, on le redirige vers la bonne page :
if (isset($_COOKIE["team"])) { if (isset($_COOKIE["team"])) {
header("Location: puzzles.php?team=" . htmlspecialchars($_COOKIE["team"])); $team_id = htmlspecialchars($_COOKIE["team"]);
die();
if ($database->checkTeamExists($team_id)) {
header("Location: puzzles.php?team=" . $team_id);
die();
}
else {
$stmt = $database->pdo_teams->prepare("SELECT * FROM teams");
$stmt->execute();
$teams = $stmt->fetchAll();
}
} }
// Sinon, on affiche la liste des équipes : // Sinon, on affiche la liste des équipes :
else { else {
$database = new Database();
$stmt = $database->pdo_teams->prepare("SELECT * FROM teams"); $stmt = $database->pdo_teams->prepare("SELECT * FROM teams");
$stmt->execute(); $stmt->execute();
$teams = $stmt->fetchAll(); $teams = $stmt->fetchAll();
@ -37,11 +48,10 @@
<p><?= $tr["home"]["message"]?></p> <p><?= $tr["home"]["message"]?></p>
</header> </header>
<article> <article>
<ul> <form action="team_confirm.php" method="get">
<?php foreach ($teams as $team) : ?> <input type="number" name="team" placeholder="<?= $tr['home']['team'] ?>">
<li><a href="team_confirm.php?team=<?= $team["id"] ?>"><?= $tr["home"]["team"] . $team["id"] ?></a></li> <button type="submit"><?= $tr["home"]["button"] ?></button>
<?php endforeach; ?> </form>
</ul>
</article> </article>
</main> </main>
<footer> <footer>

View File

@ -45,6 +45,13 @@
} }
} }
public function checkTeamExists(int $id) {
$stmt = $this->pdo_teams->prepare("SELECT * FROM teams WHERE id == :id");
$stmt->bindValue(":id", $id);
$stmt->execute();
return !empty($stmt->fetch());
}
// public function getArticleNb() { // public function getArticleNb() {
// $query = $this->pdo_article->query("SELECT COUNT(*) FROM puzzles"); // $query = $this->pdo_article->query("SELECT COUNT(*) FROM puzzles");
// return $query->fetch()["COUNT(*)"]; // return $query->fetch()["COUNT(*)"];

View File

@ -14,8 +14,9 @@
], ],
"home" => [ "home" => [
"subtitle" => "Welcome to the code hunt of Lycée Jean de Pange of Sarreguemines !", "subtitle" => "Welcome to the code hunt of Lycée Jean de Pange of Sarreguemines !",
"message" => "Select your team to begin :", "message" => "Enter your team number to begin :",
"team" => "Team n°" "team" => "Team number...",
"button" => "OK"
], ],
"team_confirm" => [ "team_confirm" => [
"subtitle" => "Please make sure you selected the right team.", "subtitle" => "Please make sure you selected the right team.",

View File

@ -14,8 +14,9 @@
], ],
"home" => [ "home" => [
"subtitle" => "Bienvenue à la chasse au code du Lycée Jean de Pange de Sarreguemines !", "subtitle" => "Bienvenue à la chasse au code du Lycée Jean de Pange de Sarreguemines !",
"message" => "Pour commencer, veuillez choisir votre groupe :", "message" => "Pour commencer, veuillez entrer le numéro de votre équipe :",
"team" => "Équipe n°" "team" => "Numéro d'équipe...",
"button" => "Valider"
], ],
"team_confirm" => [ "team_confirm" => [
"subtitle" => "Assurez-vous d'avoir sélectionné la bonne équipe.", "subtitle" => "Assurez-vous d'avoir sélectionné la bonne équipe.",

View File

@ -92,7 +92,7 @@ input[type="time"], input[type="date"] {
color: var(--fg); color: var(--fg);
} }
input[type="text"], input[type="email"], textarea { input[type="text"], input[type="email"], input[type="number"], textarea {
font: inherit; font: inherit;
background: var(--bg-dark); background: var(--bg-dark);
border-style: solid; border-style: solid;

View File

@ -9,22 +9,18 @@
$team_id = htmlspecialchars($_GET["team"]); $team_id = htmlspecialchars($_GET["team"]);
// Vérification de l'existence du groupe : // Vérification de l'existence du groupe :
$stmt = $database->pdo_teams->prepare("SELECT * FROM teams WHERE id == :id"); if ($database->checkTeamExists($team_id)) {
$stmt->bindValue(":id", $team_id);
$stmt->execute();
if (empty($stmt->fetch())) {
header("Location: index.php");
die();
}
else {
// Recherche des membres du groupe : // Recherche des membres du groupe :
$stmt = $database->pdo_teams->prepare("SELECT * FROM members WHERE team_id == :id"); $stmt = $database->pdo_teams->prepare("SELECT * FROM members WHERE team_id == :id");
$stmt->bindValue(":id", $team_id); $stmt->bindValue(":id", $team_id);
$stmt->execute(); $stmt->execute();
$members = $stmt->fetchAll(); $members = $stmt->fetchAll();
} }
else {
header("Location: index.php");
die();
}
} }
else { else {

View File

@ -1,8 +1,8 @@
# TODO # TODO
[ ] Ajouter pages avec nom des membres équipe [x] Ajouter pages avec nom des membres équipe
[x] Empêcher retour à la liste d'équipe une fois sélectionnée [x] Empêcher retour à la liste d'équipe une fois sélectionnée
[ ] Input au lieu de liste équipe [x] Input au lieu de liste équipe
[ ] Bouton retour aux énigmes [ ] Bouton retour aux énigmes
[ ] Bouton énigme suivante [ ] Bouton énigme suivante
[ ] Carte avec toutes les énigmes [ ] Carte avec toutes les énigmes