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

View File

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

View File

@ -14,8 +14,9 @@
],
"home" => [
"subtitle" => "Bienvenue à la chasse au code du Lycée Jean de Pange de Sarreguemines !",
"message" => "Pour commencer, veuillez choisir votre groupe :",
"team" => "Équipe n°"
"message" => "Pour commencer, veuillez entrer le numéro de votre équipe :",
"team" => "Numéro d'équipe...",
"button" => "Valider"
],
"team_confirm" => [
"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);
}
input[type="text"], input[type="email"], textarea {
input[type="text"], input[type="email"], input[type="number"], textarea {
font: inherit;
background: var(--bg-dark);
border-style: solid;

View File

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

View File

@ -1,8 +1,8 @@
# 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
[ ] Input au lieu de liste équipe
[x] Input au lieu de liste équipe
[ ] Bouton retour aux énigmes
[ ] Bouton énigme suivante
[ ] Carte avec toutes les énigmes