diff --git a/index.php b/index.php index fc8c6c2..d37a0f8 100644 --- a/index.php +++ b/index.php @@ -1,28 +1,31 @@ import($currentGrid); - if ($grid->containsDuplicates()) { + $_SESSION["nbSolutions"][$currentGrid] = $grid->containsDuplicates() ? -1 : $grid->countSolutions(2); + } + switch($_SESSION["nbSolutions"][$currentGrid]) { + case -1: $warning = "Cette grille contient des doublons."; - } else { - switch($grid->countSolutions(2)) { - case 0: - $warning = "Cette grille n'a pas de solution."; - break; - case 1: - $validGrids[] = $currentGrid; - break; - default: - $warning = "Cette grille a plusieurs solutions."; - } - } + break; + case 0: + $warning = "Cette grille n'a pas de solution."; + break; + case 1: + break; + default: + $warning = "Cette grille a plusieurs solutions."; } require("sudoku.php"); } else { @@ -30,11 +33,11 @@ $grid->generate(); $gridAsString = $grid->toString(); $newGridUrl = "$dirUrl/?$gridAsString"; - $_SESSION[$gridAsString] = "checked"; - if (!$currentGrid) { - header("Location: $newGridUrl"); - } else { + $_SESSION["nbSolutions"][$gridAsString] = 1; + if ($currentGrid) { require("400.php"); + } else { + header("Location: $newGridUrl"); } } ?> \ No newline at end of file