pdo_teams->prepare("SELECT * FROM teams WHERE id == :id"); $stmt->bindValue(":id", $team_id); $stmt->execute(); // Vérification de l'existence du groupe : if (!empty($stmt->fetch())) { $art_id = htmlspecialchars($_GET["id"]); // Recherche de l'énigme avec son code : $stmt = $database->pdo_article->prepare("SELECT * FROM puzzles WHERE (id == :id AND code == :code)"); $stmt->bindValue(":id", $art_id); $stmt->bindValue(":code", htmlspecialchars($_GET["code"])); $stmt->execute(); $article = $stmt->fetch(); // Données renvoyées : $data = [ "valid_qr" => false, "hint" => "" ]; // Vérification de la combinaison ID énigme + code : if (empty($article)) { // Si la combinaison ne fonctionne pas, affichage de l'indice : $stmt = $database->pdo_article->prepare("SELECT * FROM puzzles WHERE id == :id"); $stmt->bindValue(":id", $art_id); $stmt->execute(); $article = $stmt->fetch(); $data["hint"] = $article["hint"]; } else { // On enregistre la réussite dans la table : // Vérification que ce n'est pas déjà enregistré : $stmt = $database->pdo_teams->prepare("SELECT * FROM solved WHERE (puzzle_id == :puzzle_id AND team_id == :team_id)"); $stmt->bindValue(":puzzle_id", $art_id); $stmt->bindValue(":team_id", $team_id); $stmt->execute(); // Si ce n'est pas le cas, on enregistre : if (empty($stmt->fetch())) { $stmt = $database->pdo_teams->prepare("INSERT INTO solved VALUES (:puzzle_id, :team_id)"); $stmt->bindValue(":puzzle_id", $art_id); $stmt->bindValue(":team_id", $team_id); $stmt->execute(); } $data["valid_qr"] = true; } header("Content-Type: application/json; charset=utf-8"); echo json_encode($data); } else { header("Location: index.php"); die(); } } else { header("Location: index.php"); die(); } ?>