From 4cb0e9ec7619bc81c59dcba5936b363df2b014a6 Mon Sep 17 00:00:00 2001 From: Bess1k Date: Mon, 19 Jan 2026 15:33:32 +0100 Subject: [PATCH] Update user_controller.php --- app/controllers/user_controller.php | 59 +++++++++++++++++------------ 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/app/controllers/user_controller.php b/app/controllers/user_controller.php index 9f20be7..2831c67 100644 --- a/app/controllers/user_controller.php +++ b/app/controllers/user_controller.php @@ -68,72 +68,83 @@ class UserCtrl{ } - public function register() - { - // inclusion du header + public function signin(){ + + // Inclusion du header include("../app/views/partials/header.php"); - // Création de l'entity User + // Entité pour réafficher les valeurs dans le formulaire $objUser = new User(); - $strPseudo = $_POST['user_pseudo'] ?? ""; - $strPwdConfirm = $_POST['pwd_confirm'] ?? ""; + // Récupération des champs (mêmes "name=" que dans le formulaire) + $strPwdConfirm = $_POST['pwd_confirm'] ?? ""; - // Tableau des erreurs + // Tableau d'erreurs (clé = champ, valeur = message) $arrError = []; - // Traitement du formulaire - if (count($_POST) > 0) { + // Traitement du formulaire uniquement si POST + if (!empty($_POST)) { - // Hydratation depuis le formulaire + // Hydratation "manuelle" (ou via hydrate si tu l'as) $objUser->setName($_POST['user_name'] ?? ""); $objUser->setFirstname($_POST['user_firstname'] ?? ""); $objUser->setMail($_POST['user_mail'] ?? ""); + $objUser->setPseudo($_POST['user_pseudo'] ?? ""); $objUser->setPwd($_POST['user_password'] ?? ""); + + // Champs optionnels : on les stocke aussi même si ils sont vides + $objUser->setPhone($_POST['user_phone'] ?? ""); + $objUser->setWork($_POST['user_work'] ?? ""); + $objUser->setLocation($_POST['user_location'] ?? ""); + $objUser->setDescription($_POST['user_description'] ?? ""); - // Tester le formulaire - if ($objUser->getName() == "") { + + // --- VALIDATIONS (obligatoires) --- + if (trim($objUser->getName()) === "") { $arrError['user_name'] = "Le nom est obligatoire"; } - if ($objUser->getFirstname() == "") { + if (trim($objUser->getFirstname()) === "") { $arrError['user_firstname'] = "Le prénom est obligatoire"; } - if ($objUser->getMail() == "") { + if (trim($objUser->getMail()) === "") { $arrError['user_mail'] = "Le mail est obligatoire"; + } elseif (!filter_var($objUser->getMail(), FILTER_VALIDATE_EMAIL)) { + $arrError['user_mail'] = "Le format du mail n'est pas correct"; } - if ($strPseudo == "") { + if (trim($objUser->getPseudo()) === "") { $arrError['user_pseudo'] = "Le pseudo est obligatoire"; } - if ($objUser->getPwd() == "") { + if (trim($objUser->getPwd()) === "") { $arrError['user_password'] = "Le mot de passe est obligatoire"; - } elseif ($objUser->getPwd() != $strPwdConfirm) { - $arrError['pwd_confirm'] = "Les mots de passe ne correspondent pas"; + } elseif ($objUser->getPwd() !== $strPwdConfirm) { + $arrError['pwd_confirm'] = "Le mot de passe et sa confirmation ne sont pas identiques"; } - // Si le formulaire est rempli correctement - if (count($arrError) == 0) { + // Si pas d'erreurs => insertion + if (count($arrError) === 0) { $objUserModel = new UserModel(); - $boolInsert = $objUserModel->insert($objUser, $strPseudo); + $boolInsert = $objUserModel->insert($objUser); if ($boolInsert === true) { $_SESSION['success'] = "Compte créé avec succès"; header("Location:index.php?ctrl=user&action=login"); exit; } else { - $arrError[] = "Erreur lors de l'ajout"; + // Erreur globale (pas liée à un champ) + $arrError['global'] = "Erreur lors de l'ajout"; } } } - // inclusions les fichiers inscription et footer + // Affichage de la vue inscription (alert + formulaire) include("../app/views/inscription.php"); include("../app/views/partials/footer.php"); } -} +}