From 45e80ea4d3d8277b273b67390135e4c6ea4ede0f Mon Sep 17 00:00:00 2001 From: Bess1k Date: Mon, 19 Jan 2026 15:34:39 +0100 Subject: [PATCH] Create user_model.php --- app/models/user_model.php | 88 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 app/models/user_model.php diff --git a/app/models/user_model.php b/app/models/user_model.php new file mode 100644 index 0000000..706931b --- /dev/null +++ b/app/models/user_model.php @@ -0,0 +1,88 @@ +_db->query($strRq)->fetchAll(); + } + + /** + * @param string $strMail + * @param string $strPwd + * @return array|bool + */ + public function verifUser(string $strMail, string $strPwd):array|bool{ + // 2. Construire la requête + $strRq = "SELECT user_id, user_name, user_firstname, user_password, user_image + FROM users + WHERE user_mail = '".$strMail."'"; + // Récupère mon utilisateur + // Executer la requête et récupérer les résultats + $arrUser = $this->_db->query($strRq)->fetch(); + // Vérification du mot de passe haché + if (password_verify($strPwd, $arrUser['user_password'])){ + // Renvoi l'utilisateur + unset($arrUser['user_password']); // on enlève le pwd + return $arrUser; + }else{ + return false; + } + } + + //public function insert(string $strName, string $strFirstname, string $strMail, string $strPwd):int{ + /** + * Fonction d'insertion d'un utilisateur en BDD + * @param object $objUser L'objet utilisateur + * @return bool Est-ce que la requête s'est bien passée (true/false) + */ + public function insert(object $objUser):bool{ + + // 2. Construire la requête + /*$strRq = "INSERT INTO users (user_name, user_firstname, user_mail, user_pwd) + VALUES ('".$objUser->getName()."', + '".$objUser->getFirstname()."', + '".$objUser->getMail()."', + '".$objUser->getPwdHash()."')";*/ + $strRq = "INSERT INTO users (user_name, user_firstname, user_pseudo, user_mail, user_password, user_phone, user_work, user_location, user_description) + VALUES (:name, :firstname, :pseudo,:mail, :pwd, :phone, :work, :location,:description)"; + // Préparer la requête + $rqPrep = $this->_db->prepare($strRq); + // Donne les informations + $rqPrep->bindValue(":name", $objUser->getName(), PDO::PARAM_STR); + $rqPrep->bindValue(":firstname", $objUser->getFirstname(), PDO::PARAM_STR); + $rqPrep->bindValue(":pseudo", $objUser->getPseudo(), PDO::PARAM_STR); + $rqPrep->bindValue(":mail", $objUser->getMail(), PDO::PARAM_STR); + $rqPrep->bindValue(":pwd", $objUser->getPwdHash(), PDO::PARAM_STR); + $rqPrep->bindValue(':phone', $objUser->getPhone() ?? "", PDO::PARAM_STR); + $rqPrep->bindValue(':work', $objUser->getWork() ?? "", PDO::PARAM_STR); + $rqPrep->bindValue(':location', $objUser->getLocation() ?? "", PDO::PARAM_STR); + $rqPrep->bindValue(':description', $objUser->getDescription() ?? "", PDO::PARAM_STR); + + + + // 3. Executer la requête + //var_dump($strRq);die; + //return $db->exec($strRq); + return $rqPrep->execute(); + } + }