From 9f245f65785a0e07ec66f99e6f25d3b3f5a84620 Mon Sep 17 00:00:00 2001 From: Pierr0 Date: Tue, 2 Jan 2024 17:42:42 +0100 Subject: [PATCH] page de connexion fonctionnelle avec bdd --- Class/class.newFiche.php | 1 - Class/class.user.php | 31 +++++++++++++++ controleurs/c_connexion.php | 44 ++++++++++++++++----- controleurs/c_deconnexion.php | 5 +++ controleurs/c_nouvelleFiche.php | 8 ++-- include/menu.php | 2 +- index.php | 13 +++++-- vues/v_connexion.php | 69 +++++++++++++++++++++++++++++++++ vues/v_homePage.php | 5 ++- vues/v_newFiche.php | 4 +- 10 files changed, 161 insertions(+), 21 deletions(-) create mode 100644 Class/class.user.php create mode 100644 controleurs/c_deconnexion.php create mode 100644 vues/v_connexion.php diff --git a/Class/class.newFiche.php b/Class/class.newFiche.php index 57193c9..c73711d 100644 --- a/Class/class.newFiche.php +++ b/Class/class.newFiche.php @@ -4,7 +4,6 @@ class Class_newFiche { private $pdo = null; - public function __construct(PdoGsb $pDO) { $this->pdo = $pDO->getPdoGsb(); diff --git a/Class/class.user.php b/Class/class.user.php new file mode 100644 index 0000000..d40064f --- /dev/null +++ b/Class/class.user.php @@ -0,0 +1,31 @@ +pdo = $pDO->getPdoGsb(); + } + + public function connectUser(string $login, string $password): array + { + $req = 'SELECT "uId", "uNom", "uPrenom", "uAdresse", "uCp", "uVille", "uSecteur", "uLabo", "parametre"."pLibelle" + FROM utilisateur + INNER JOIN parametre ON "parametre"."pType" = \'statUti\' + AND "utilisateur"."uStatut" = "parametre"."pIndice" + WHERE "uLogin" = :login AND "uMdp" = :pwd ;'; + + $result = $this->pdo->prepare($req); + $result->bindParam('login', $login); + $result->bindParam('pwd', $password); + $result->execute(); + + return $result->fetch(); + } +} diff --git a/controleurs/c_connexion.php b/controleurs/c_connexion.php index 2b54c83..d20b3a1 100644 --- a/controleurs/c_connexion.php +++ b/controleurs/c_connexion.php @@ -1,12 +1,35 @@ connectUser($_POST['login'], $_POST['password']); + + //Si l'utilisateur existe ou pas + if (count($data) === 0) { + header('location: index.php?direction=connexion&msg=errorco'); + } else { + $_SESSION['uId'] = $data['uId']; + $_SESSION['uNom'] = $data['uNom']; + $_SESSION['uPrenom'] = $data['uPrenom']; + $_SESSION['uAdresse'] = $data['uAdresse']; + $_SESSION['uCp'] = $data['uCp']; + $_SESSION['uVille'] = $data['uVille']; + $_SESSION['uSecteur'] = $data['uSecteur']; + $_SESSION['uLabo'] = $data['uLabo']; + $_SESSION['uType'] = $data['pLibelle']; + + header('location: index.php?direction=home'); + } +} else { + header('location: index.php'); +} +die; +/* + + + header('location: index.php?direction=home'); if (!isset($_REQUEST['action'])) { @@ -44,7 +67,7 @@ switch ($action) { $leMoisPrecedent = (date('Y') - 1) * 100 + 12; } //penser ici à faire la cloture du mois précédent ! - if ($statut == 'V') /* si le remboursement pour le mois courant n'existe pas (=0) il faut le créer*/{ + if ($statut == 'V') // si le remboursement pour le mois courant n'existe pas (=0) il faut le créer{ $leMois = date('Ym'); $leRemboursement = $pdo->existeRemboursement($id, $leMois); if ($leRemboursement == 0) { @@ -61,4 +84,5 @@ switch ($action) { break; } } -?> \ No newline at end of file +?> +*/ diff --git a/controleurs/c_deconnexion.php b/controleurs/c_deconnexion.php new file mode 100644 index 0000000..374c0f9 --- /dev/null +++ b/controleurs/c_deconnexion.php @@ -0,0 +1,5 @@ +listFraisForfaitForU($_SESSION['userId'], $date); +$listeFraisForfaitaire = $newFiche->listFraisForfaitForU($userId, $date); if (count($listeFraisForfaitaire) == 0) { $listeFraisForfaitaire = $newFiche->listFraisForfaitaires(); } @@ -50,11 +52,11 @@ if (count($listeFraisForfaitaire) == 0) { /** * Listes des frais HF */ -$listeFraisHf = $newFiche->listFraisHF($_SESSION['userId'], $date); +$listeFraisHf = $newFiche->listFraisHF($userId, $date); /** * TOTAL DE LA FICHE */ -$totalFraisFiche = $newFiche->getMontantValide($_SESSION['userId'], $date); +$totalFraisFiche = $newFiche->getMontantValide($userId, $date); include(__DIR__ . '/../vues/v_newFiche.php'); diff --git a/include/menu.php b/include/menu.php index b84fe5e..bd91226 100644 --- a/include/menu.php +++ b/include/menu.php @@ -68,7 +68,7 @@
  • -
  • Sign out
  • +
  • Sign out
  • diff --git a/index.php b/index.php index 9c2e07f..710a5b3 100644 --- a/index.php +++ b/index.php @@ -21,12 +21,15 @@ if (!isset($_SESSION['userId'])) { $_REQUEST['direction'] = 'connexion'; } */ -if (!isset($_REQUEST['direction'])) { +if (!isset($_REQUEST['direction']) && !isset($_SESSION['uId'])) { $_REQUEST['direction'] = 'connexion'; +} elseif (!isset($_REQUEST['direction']) && isset($_SESSION['uId'])) { + $_REQUEST['direction'] = 'home'; } + ?> - + @@ -45,7 +48,11 @@ if (!isset($_REQUEST['direction'])) {
    +
    +
    +
    +
    +
    +
    + +
    + +

    GSB Laboratoire

    +

    Entrez votre login et mot-de-passe

    +
    +
    + + +
    + +
    + + +
    + + + + +
    +
    + + + +
    + +
    + +
    +
    +
    +
    +
    +
    +