From a5bdc4fb90a595cb28bc8d683ca28ed58fd237b5 Mon Sep 17 00:00:00 2001 From: "victor.soulier" Date: Sun, 19 Nov 2023 10:25:38 +0100 Subject: [PATCH] =?UTF-8?q?FIX=20:=20erreur=20quand=20r=C3=A9definittion?= =?UTF-8?q?=20du=20pseudo=20avec=20un=20pseudo=20d=C3=A9j=C3=A0=20existant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project/src/controller/PseudoController.php | 6 +++++- project/src/model/gateways/JoueurGateway.php | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/project/src/controller/PseudoController.php b/project/src/controller/PseudoController.php index 0b094da..fa69f88 100644 --- a/project/src/controller/PseudoController.php +++ b/project/src/controller/PseudoController.php @@ -25,7 +25,11 @@ class PseudoController{ }catch(PseudoDejaPrisException){ $dVueErreur[] = "Pseudo déjà pris"; }catch(IdSessionDoubleException $e){ - $role = $mdlInvite->setPseudo($e->getIdJoueur(), $pseudo); + try{ + $role = $mdlInvite->setPseudo($e->getIdJoueur(), $pseudo); + }catch(PseudoDejaPrisException){ + $dVueErreur[] = "Pseudo déjà pris"; + } } if(isset($role)){ diff --git a/project/src/model/gateways/JoueurGateway.php b/project/src/model/gateways/JoueurGateway.php index 87b21a5..18e6055 100644 --- a/project/src/model/gateways/JoueurGateway.php +++ b/project/src/model/gateways/JoueurGateway.php @@ -28,8 +28,12 @@ abstract class JoueurGateway } public function setPseudo(int $id, string $pseudo){ - $this->con->executeQuery("UPDATE Joueur SET pseudo=:pseudo WHERE id=:id", + if($this->getFromPseudo($pseudo) != false){ + throw new PseudoDejaPrisException(); + }else{ + $this->con->executeQuery("UPDATE Joueur SET pseudo=:pseudo WHERE id=:id", [":pseudo" => [$pseudo, $this->con::PARAM_STR], ":id" => [$id, $this->con::PARAM_INT]]); + } } } \ No newline at end of file