From a7049cc5ca27e8026edbe9a35a0ae568afce6c68 Mon Sep 17 00:00:00 2001 From: beaulaton Date: Wed, 23 Oct 2024 18:32:22 +0200 Subject: [PATCH] route style + js et lien avec la bdd pour profil (besoin model) --- src/Entity/userEntity.php | 47 ++++++++++++++++++++++++++++ src/Gateway/userGateway.php | 61 +++++++++++++++++++++++++++++++++++++ vue/favorite.html | 4 +-- vue/login.html | 6 ++-- vue/profil.php | 18 +++++------ vue/quiz.html | 4 +-- vue/signin.html | 4 +-- 7 files changed, 126 insertions(+), 18 deletions(-) diff --git a/src/Entity/userEntity.php b/src/Entity/userEntity.php index 70139bf..b5e2f02 100644 --- a/src/Entity/userEntity.php +++ b/src/Entity/userEntity.php @@ -119,7 +119,54 @@ } + // ============================================ En attente du Model ============================================ + include("../src/Gateway/Connection.php"); + $dsn = "pgsql:host=londres;dbname=dblebeaulato"; + $username = "lebeaulato"; + $password = "MaSQL:2004!"; + $con = new Connection($dsn,$username,$password); + + $query = 'SELECT * FROM Users WHERE id_user=:idUser'; + $con->executeQuery($query, array(':idUser'=>array('U003', PDO::PARAM_STR))); + $result = $con->getResults(); + + $u = new User($result[0]['id_user'],$result[0]['username'], $result[0]['pssword'], '../images/imageProfil.png', $result[0]['email']); /*Test*/ + + + + + //UPDATE username User + $query = 'UPDATE Users SET username=:newUsername WHERE id_user=:idUser'; + $con->executeQuery($query, array(':idUser'=>array('U003', PDO::PARAM_STR), ':newUsername'=> array('Hello', PDO::PARAM_STR))); + $queryReponse = 'SELECT username FROM Users WHERE id_user=:idUser'; + + $con->executeQuery($queryReponse, array(':idUser'=>array('U003', PDO::PARAM_STR))); + $result = $con->getResults(); + $u->setUsername($result[0]['username']); /*Test*/ + + + //UPDATE email User + $query = 'UPDATE Users SET email=:newEmail WHERE id_user=:idUser'; + $con->executeQuery($query, array(':idUser'=>array('U003', PDO::PARAM_STR), ':newEmail'=> array('hello@gmail.com', PDO::PARAM_STR))); + $queryReponse = 'SELECT email FROM Users WHERE id_user=:idUser'; + + $con->executeQuery($queryReponse, array(':idUser'=>array('U003', PDO::PARAM_STR))); + $result = $con->getResults(); + $u->setEmail($result[0]['email']); /*Test*/ + + //UPDATE passwd User + $query = 'UPDATE Users SET pssword=:newPassWd WHERE id_user=:idUser'; + $con->executeQuery($query, array(':idUser'=>array('U003', PDO::PARAM_STR), ':newPassWd'=> array('TestMotDePasssse', PDO::PARAM_STR))); + + $queryReponse = 'SELECT pssword FROM Users WHERE id_user=:idUser'; + $con->executeQuery($queryReponse, array(':idUser'=>array('U003', PDO::PARAM_STR))); + $result = $con->getResults(); + $u->setPasswd($result[0]['pssword']); /*Test*/ + +// ================================================================================================================ + + function hidenPassWd(string $passwd){ if(strlen($passwd) >= 16) return str_repeat('*', 16); diff --git a/src/Gateway/userGateway.php b/src/Gateway/userGateway.php index b171f43..94fa6a3 100644 --- a/src/Gateway/userGateway.php +++ b/src/Gateway/userGateway.php @@ -39,5 +39,66 @@ Class UserGateway{ return $result; } + + + public function donneeUser(string $id):array{ + $query = 'SELECT * FROM Users WHERE id_user=:idUser'; + $con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR))); + $result = $con->getResults(); + return $result; + } + + // ===================== UPDATE FUNCTION ===================== + + public function updateUsername(string $id, string $newUsername):array{ + //Update le nom du user passé en paramètre + $queryUpdate = 'UPDATE Users SET username=:newUsername WHERE id_user=:idUser'; + $con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_STR), ':newUsername'=> array($newUsername, PDO::PARAM_STR))); + + //Renvoie le nouveau nom du user + $queryReponse = 'SELECT username FROM Users WHERE id_user=:idUser'; + $con->executeQuery($queryReponse, array($id=>array($newUsername, PDO::PARAM_STR))); + return $result; + } + + public function updateEmail(string $id, string $newEmail):array{ + //Update le email du user passé en paramètre + $queryUpdate = 'UPDATE Users SET email=:newEmail WHERE id_user=:idUser'; + $con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_STR), ':newEmail'=> array($newEmail, PDO::PARAM_STR))); + + //Renvoie le nouveau email du user + $queryReponse = 'SELECT email FROM Users WHERE id_user=:idUser'; + $con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR))); + $result = $con->getResults(); + return $result; + } + + public function updateImg(string $id, string $newImg):array{ + //Update l'image du user passé en paramètre + $query = 'UPDATE Users SET img=:newImg WHERE id_user=:idUser'; + $con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR), ':newImg'=> array($newImg, PDO::PARAM_STR))); + + //Renvoie la nouvelle image du user + $queryReponse = 'SELECT img FROM Users WHERE id_user=:idUser'; + $con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR))); + $result = $con->getResults(); + return $result; + } + + public function updatePasswd(string $id, string $newPassWd):array{ + //Update le passwd du user passé en paramètre + $query = 'UPDATE Users SET pssword=:newPassWd WHERE id_user=:idUser'; + $con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR), ':newPassWd'=> array($newPassWd, PDO::PARAM_STR))); + + //Renvoie le nouveau passwd du user + $queryReponse = 'SELECT pssword FROM Users WHERE id_user=:idUser'; + $con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR))); + $result = $con->getResults(); + return $result; + } + } + +$uG = new UserGateway(new Connection("pgsql:host=londres;dbname=dblebeaulato","lebeaulato","")); + ?> \ No newline at end of file diff --git a/vue/favorite.html b/vue/favorite.html index 6134db2..b87e07f 100644 --- a/vue/favorite.html +++ b/vue/favorite.html @@ -5,8 +5,8 @@ Wiki Fantasy : Favoris - - + + diff --git a/vue/login.html b/vue/login.html index c2452e2..47002d3 100644 --- a/vue/login.html +++ b/vue/login.html @@ -3,11 +3,11 @@ - + Wiki Fantasy : Connexion - + - +
diff --git a/vue/profil.php b/vue/profil.php index 582a271..0c2efc8 100644 --- a/vue/profil.php +++ b/vue/profil.php @@ -3,12 +3,12 @@ - + Wiki Fantasy : Profil - + - - + + @@ -29,27 +29,27 @@

▶ Profil ◀

img}' class='imageProfil' onmousedown='return false'/>"; + echo ""; // Nom d'utilisateur echo "

- {$u->username} + {$u->getUsername()}

"; // Email echo "

- {$u->email} + {$u->getEmail()}

"; // Mot de passe echo "

- {$u->hidenPasswd} + {$u->getHidenPasswd()}

"; diff --git a/vue/quiz.html b/vue/quiz.html index 9f84b73..7b25e55 100644 --- a/vue/quiz.html +++ b/vue/quiz.html @@ -5,8 +5,8 @@ Wiki Fantasy : Quiz - - + + +