From b1965065a5c31cfece67a89ec5a4b27b9689aa48 Mon Sep 17 00:00:00 2001 From: Bess1k Date: Tue, 20 Jan 2026 08:58:01 +0100 Subject: [PATCH] Update user_controller.php --- app/controllers/user_controller.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/controllers/user_controller.php b/app/controllers/user_controller.php index 2831c67..7ec6c18 100644 --- a/app/controllers/user_controller.php +++ b/app/controllers/user_controller.php @@ -76,16 +76,16 @@ class UserCtrl{ // Entité pour réafficher les valeurs dans le formulaire $objUser = new User(); - // Récupération des champs (mêmes "name=" que dans le formulaire) + // Récupération des champs $strPwdConfirm = $_POST['pwd_confirm'] ?? ""; - // Tableau d'erreurs (clé = champ, valeur = message) + // Tableau d'erreurs $arrError = []; // Traitement du formulaire uniquement si POST if (!empty($_POST)) { - // Hydratation "manuelle" (ou via hydrate si tu l'as) + // Hydratation $objUser->setName($_POST['user_name'] ?? ""); $objUser->setFirstname($_POST['user_firstname'] ?? ""); $objUser->setMail($_POST['user_mail'] ?? ""); @@ -118,12 +118,16 @@ class UserCtrl{ $arrError['user_pseudo'] = "Le pseudo est obligatoire"; } - if (trim($objUser->getPwd()) === "") { + $strRegex = "/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{16,}$/"; + if ($objUser->getPwd() == ""){ $arrError['user_password'] = "Le mot de passe est obligatoire"; - } elseif ($objUser->getPwd() !== $strPwdConfirm) { + }else if (!preg_match($strRegex, $objUser->getPwd())){ + $arrError['user_password'] = "Le mot de passe ne correspond pas aux règles"; + }else if($objUser->getPwd() != $strPwdConfirm){ $arrError['pwd_confirm'] = "Le mot de passe et sa confirmation ne sont pas identiques"; } + // Si pas d'erreurs => insertion if (count($arrError) === 0) { $objUserModel = new UserModel(); @@ -140,7 +144,7 @@ class UserCtrl{ } } - // Affichage de la vue inscription (alert + formulaire) + // Affichage de la vue inscription include("../app/views/inscription.php"); include("../app/views/partials/footer.php"); }