Update user_controller.php

This commit is contained in:
Bess1k 2026-01-19 15:33:32 +01:00 committed by GitHub
parent 97a504edd7
commit 4cb0e9ec76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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'] ?? "";
// 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'] ?? "");
// Tester le formulaire
if ($objUser->getName() == "") {
// 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'] ?? "");
// --- 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");
}
}
}