diff --git a/index.php b/index.php index b8a8562..c68f106 100644 --- a/index.php +++ b/index.php @@ -1,18 +1,19 @@ import($currentGrid); - $_SESSION[$currentGrid] = $grid->containsDuplicates() ? -1 : $grid->countSolutions(2); + if (!array_key_exists($currentGrid, $sudokuGridSolutions)) { + $grid = new Grid($currentGrid); + $sudokuGridSolutions[$currentGrid] = $grid->containsDuplicates() ? -1 : $grid->countSolutions(2); } - switch($_SESSION[$currentGrid]) { + switch($sudokuGridSolutions[$currentGrid]) { case -1: $warning = "Cette grille contient des doublons."; break; @@ -27,10 +28,9 @@ require("sudoku.php"); } else { $grid = new Grid(); - $grid->generate(); $gridAsString = $grid->toString(); $newGridUrl = "$dirUrl/?$gridAsString"; - $_SESSION[$gridAsString] = 1; + $sudokuGridSolutions[$gridAsString] = 1; if ($currentGrid) { require("400.php"); } else {