Update user_controller.php
This commit is contained in:
parent
97a504edd7
commit
4cb0e9ec76
1 changed files with 35 additions and 24 deletions
|
|
@ -68,72 +68,83 @@ class UserCtrl{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function register()
|
public function signin(){
|
||||||
{
|
|
||||||
// inclusion du header
|
// Inclusion du header
|
||||||
include("../app/views/partials/header.php");
|
include("../app/views/partials/header.php");
|
||||||
|
|
||||||
// Création de l'entity User
|
// Entité pour réafficher les valeurs dans le formulaire
|
||||||
$objUser = new User();
|
$objUser = new User();
|
||||||
|
|
||||||
$strPseudo = $_POST['user_pseudo'] ?? "";
|
// Récupération des champs (mêmes "name=" que dans le formulaire)
|
||||||
$strPwdConfirm = $_POST['pwd_confirm'] ?? "";
|
$strPwdConfirm = $_POST['pwd_confirm'] ?? "";
|
||||||
|
|
||||||
// Tableau des erreurs
|
// Tableau d'erreurs (clé = champ, valeur = message)
|
||||||
$arrError = [];
|
$arrError = [];
|
||||||
|
|
||||||
// Traitement du formulaire
|
// Traitement du formulaire uniquement si POST
|
||||||
if (count($_POST) > 0) {
|
if (!empty($_POST)) {
|
||||||
|
|
||||||
// Hydratation depuis le formulaire
|
// Hydratation "manuelle" (ou via hydrate si tu l'as)
|
||||||
$objUser->setName($_POST['user_name'] ?? "");
|
$objUser->setName($_POST['user_name'] ?? "");
|
||||||
$objUser->setFirstname($_POST['user_firstname'] ?? "");
|
$objUser->setFirstname($_POST['user_firstname'] ?? "");
|
||||||
$objUser->setMail($_POST['user_mail'] ?? "");
|
$objUser->setMail($_POST['user_mail'] ?? "");
|
||||||
|
$objUser->setPseudo($_POST['user_pseudo'] ?? "");
|
||||||
$objUser->setPwd($_POST['user_password'] ?? "");
|
$objUser->setPwd($_POST['user_password'] ?? "");
|
||||||
|
|
||||||
// Tester le formulaire
|
// Champs optionnels : on les stocke aussi même si ils sont vides
|
||||||
if ($objUser->getName() == "") {
|
$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";
|
$arrError['user_name'] = "Le nom est obligatoire";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($objUser->getFirstname() == "") {
|
if (trim($objUser->getFirstname()) === "") {
|
||||||
$arrError['user_firstname'] = "Le prénom est obligatoire";
|
$arrError['user_firstname'] = "Le prénom est obligatoire";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($objUser->getMail() == "") {
|
if (trim($objUser->getMail()) === "") {
|
||||||
$arrError['user_mail'] = "Le mail est obligatoire";
|
$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";
|
$arrError['user_pseudo'] = "Le pseudo est obligatoire";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($objUser->getPwd() == "") {
|
if (trim($objUser->getPwd()) === "") {
|
||||||
$arrError['user_password'] = "Le mot de passe est obligatoire";
|
$arrError['user_password'] = "Le mot de passe est obligatoire";
|
||||||
} elseif ($objUser->getPwd() != $strPwdConfirm) {
|
} elseif ($objUser->getPwd() !== $strPwdConfirm) {
|
||||||
$arrError['pwd_confirm'] = "Les mots de passe ne correspondent pas";
|
$arrError['pwd_confirm'] = "Le mot de passe et sa confirmation ne sont pas identiques";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si le formulaire est rempli correctement
|
// Si pas d'erreurs => insertion
|
||||||
if (count($arrError) == 0) {
|
if (count($arrError) === 0) {
|
||||||
$objUserModel = new UserModel();
|
$objUserModel = new UserModel();
|
||||||
$boolInsert = $objUserModel->insert($objUser, $strPseudo);
|
$boolInsert = $objUserModel->insert($objUser);
|
||||||
|
|
||||||
if ($boolInsert === true) {
|
if ($boolInsert === true) {
|
||||||
$_SESSION['success'] = "Compte créé avec succès";
|
$_SESSION['success'] = "Compte créé avec succès";
|
||||||
header("Location:index.php?ctrl=user&action=login");
|
header("Location:index.php?ctrl=user&action=login");
|
||||||
exit;
|
exit;
|
||||||
} else {
|
} 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/inscription.php");
|
||||||
include("../app/views/partials/footer.php");
|
include("../app/views/partials/footer.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue