utiliser session_id comme id

This commit is contained in:
Adrien MALINGREY 2025-05-06 01:40:53 +02:00
parent ea4555144c
commit afd79eb3a2
2 changed files with 11 additions and 11 deletions

View File

@ -12,7 +12,6 @@ class Grille implements ArrayAccess {
public $lignes = []; public $lignes = [];
public $colonnes = []; public $colonnes = [];
public $valide = false; public $valide = false;
private $id;
public function __construct($hauteur, $largeur) public function __construct($hauteur, $largeur)
{ {
@ -100,15 +99,17 @@ class Grille implements ArrayAccess {
} }
} }
public function genere($id) { public function genere() {
session_regenerate_id();
$id = session_id();
mt_srand(crc32($id)); mt_srand(crc32($id));
$grilles = $this->gen_grilles(); $grilles = $this->gen_grilles();
$grilles->current(); $grilles->current();
if ($grilles->valid()) { if ($grilles->valid()) {
$this->save($id); $this->save();
return true; return $id;
} else { } else {
return false; return false;
} }
@ -122,8 +123,7 @@ class Grille implements ArrayAccess {
return hash('sha256', $string); return hash('sha256', $string);
} }
public function save($id) { public function save() {
session_id($id);
session_start(["use_cookies" => false]); session_start(["use_cookies" => false]);
$_SESSION["$this->largeur,$this->hauteur"] = implode( $_SESSION["$this->largeur,$this->hauteur"] = implode(
@ -135,7 +135,6 @@ class Grille implements ArrayAccess {
$this->grille $this->grille
) )
); );
var_dump($_SESSION);
} }
public function load($id) { public function load($id) {
@ -143,7 +142,6 @@ class Grille implements ArrayAccess {
session_start(["use_cookies" => false]); session_start(["use_cookies" => false]);
if (!isset($_SESSION["$this->largeur,$this->hauteur"])) { if (!isset($_SESSION["$this->largeur,$this->hauteur"])) {
var_dump($_SESSION);
return false; return false;
} }

View File

@ -31,8 +31,8 @@ $grille = new Grille($hauteur, $largeur);
if (!isset($_GET["grille"])) { if (!isset($_GET["grille"])) {
do { do {
$id = uniqid(); $id = $grille->genere();
} while (!$grille->genere($id)); } while (!$id);
$_GET["grille"] = $id; $_GET["grille"] = $id;
header("Location: " . dirname($_SERVER['DOCUMENT_URI']) . "?" . http_build_query($_GET)); header("Location: " . dirname($_SERVER['DOCUMENT_URI']) . "?" . http_build_query($_GET));
@ -41,9 +41,11 @@ if (!isset($_GET["grille"])) {
$id = htmlspecialchars($_GET["grille"]); $id = htmlspecialchars($_GET["grille"]);
$grille_valide = $grille->load($id) || $grille->genere($id); $grille_valide = $grille->load($id) || $grille->genere();
if ($grille_valide) { if ($grille_valide) {
mt_srand(crc32($id));
$definitions_horizontales = []; $definitions_horizontales = [];
for ($y = 0; $y < $hauteur; $y++) { for ($y = 0; $y < $hauteur; $y++) {
$definitions_horizontales[$y] = []; $definitions_horizontales[$y] = [];