From 97a504edd7167c237dba220125cc6263b000e662 Mon Sep 17 00:00:00 2001 From: Bess1k Date: Fri, 16 Jan 2026 14:18:48 +0100 Subject: [PATCH] Create user_controller.php --- app/controllers/user_controller.php | 139 ++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 app/controllers/user_controller.php diff --git a/app/controllers/user_controller.php b/app/controllers/user_controller.php new file mode 100644 index 0000000..9f20be7 --- /dev/null +++ b/app/controllers/user_controller.php @@ -0,0 +1,139 @@ + 0) { + // Vérifier le formulaire + if ($strMail == ""){ + $arrError['mail'] = "Le mail est obligatoire"; + } + if ($strPwd == ""){ + $arrError['pwd'] = "Le mot de passe est obligatoire"; + } + + // Si le formulaire est rempli correctement + if (count($arrError) == 0){ + // Vérifier l'utilisateur en BDD + $objUserModel = new UserModel; + $arrResult = $objUserModel->verifUser($strMail, $strPwd); + //var_dump($arrResult); + if ($arrResult === false){ // Si la base de données ne renvoie rien + $arrError[] = "Mail ou mot de passe invalide"; + }else{ + // Ajoute l'utilisateur en session + /*$_SESSION['firstname'] = $arrResult['user_firstname']; + $_SESSION['name'] = $arrResult['user_name']; + $_SESSION['id'] = $arrResult['user_id'];*/ + // j'enlève le mot de passe avant la session + //unset($arrResult['user_pwd']); + $_SESSION['user'] = $arrResult; + $_SESSION['success'] = "Bienvenue, vous êtes bien connecté"; + + header("Location:index.php"); + exit; + //var_dump($_SESSION); + //var_dump("Connecté"); + } + } + } + include("../app/views/login.php"); + include("../app/views/partials/footer.php"); + + } + + + public function logout(){ + session_start(); + /*session_destroy(); + session_start();*/ + + // on supprime l'utilisateur en session + unset($_SESSION['user']); + + $_SESSION['success'] = "Vous êtes bien déconnecté"; + + header("Location:index.php"); + exit; + + } + + public function register() + { + // inclusion du header + include("../app/views/partials/header.php"); + + // Création de l'entity User + $objUser = new User(); + + $strPseudo = $_POST['user_pseudo'] ?? ""; + $strPwdConfirm = $_POST['pwd_confirm'] ?? ""; + + // Tableau des erreurs + $arrError = []; + + // Traitement du formulaire + if (count($_POST) > 0) { + + // Hydratation depuis le formulaire + $objUser->setName($_POST['user_name'] ?? ""); + $objUser->setFirstname($_POST['user_firstname'] ?? ""); + $objUser->setMail($_POST['user_mail'] ?? ""); + $objUser->setPwd($_POST['user_password'] ?? ""); + + // Tester le formulaire + if ($objUser->getName() == "") { + $arrError['user_name'] = "Le nom est obligatoire"; + } + + if ($objUser->getFirstname() == "") { + $arrError['user_firstname'] = "Le prénom est obligatoire"; + } + + if ($objUser->getMail() == "") { + $arrError['user_mail'] = "Le mail est obligatoire"; + } + + if ($strPseudo == "") { + $arrError['user_pseudo'] = "Le pseudo est obligatoire"; + } + + if ($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"; + } + + // Si le formulaire est rempli correctement + if (count($arrError) == 0) { + $objUserModel = new UserModel(); + $boolInsert = $objUserModel->insert($objUser, $strPseudo); + + 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"; + } + } + } + + // inclusions les fichiers inscription et footer + include("../app/views/inscription.php"); + include("../app/views/partials/footer.php"); + } + + +} +