diff --git a/php/src/controleur/UtilisateurControleur.php b/php/src/controleur/UtilisateurControleur.php index 8f90a5d..7280332 100755 --- a/php/src/controleur/UtilisateurControleur.php +++ b/php/src/controleur/UtilisateurControleur.php @@ -5,7 +5,7 @@ namespace App\controleur; use App\config\Validation; use App\gateway\ImageSaver; use App\metier\Alumni; -use App\modele\MembreModele; +use App\modele\OffreModele; use App\modele\UtilisateurModele; class UtilisateurControleur @@ -27,7 +27,7 @@ class UtilisateurControleur $utilisateur = $userModel->connection($email, $motDePasse); if ($utilisateur instanceof Alumni) { $_SESSION['utilisateur'] = $utilisateur; - $this->accueil(); + header('Location: index.php?action=accueil'); exit(); } else { $dVueErreur[] = "L'adresse email ou le mot de passe est incorrect."; @@ -36,7 +36,7 @@ class UtilisateurControleur echo $twig->render('connection.html', ['dVueErreur' => $dVueErreur]); } - public function inscription() + protected function inscription() { global $twig; $dVueErreur = []; // Tableau pour stocker les erreurs, le cas échéant @@ -70,24 +70,22 @@ class UtilisateurControleur echo $twig->render('inscription.html', ['dVueErreur' => $dVueErreur]); } - public function accueil() + protected function accueil() { - var_dump($_SESSION['utilisateur']); global $twig; // Ajout d'un var_dump pour déboguer if (isset($_SESSION['utilisateur']) && $_SESSION['utilisateur'] instanceof Alumni) { $prenom = $_SESSION['utilisateur']->getPrenom(); $nom = $_SESSION['utilisateur']->getNom(); -// $id = $_SESSION['utilisateur']->get - echo $twig->render('/user/accueil.html', ['prenom' => $prenom, 'nom' => $nom]); - + $id = $_SESSION['utilisateur']->getId(); } else{ $prenom = null; $nom = null; + $id = null; } //aller sur la page d'accueil avec le nom et prenom de l'utilisateur - echo $twig->render('accueil.html', ['prenom' => $prenom, 'nom' => $nom]); + echo $twig->render('accueil.html', ['prenom' => $prenom, 'nom' => $nom, 'id' => $id]); } public function consulterProfilLimite() @@ -329,8 +327,4 @@ class UtilisateurControleur global $twig; echo $twig->render('evenement.html', ['evenements' => $evenements]); } - - - - } \ No newline at end of file diff --git a/php/src/gateway/AlumniGateway.php b/php/src/gateway/AlumniGateway.php index 761011c..ab84401 100644 --- a/php/src/gateway/AlumniGateway.php +++ b/php/src/gateway/AlumniGateway.php @@ -44,30 +44,21 @@ class AlumniGateway } public function findByEmail(string $email){ - $query = 'SELECT Alumni.mail, Alumni.mdp, Alumni.role, Profil.nom, Profil.prenom ,Alumni.id + $query = 'SELECT Alumni.id, Alumni.mail, Alumni.mdp, Alumni.role, Profil.nom, Profil.prenom FROM Alumni LEFT JOIN Profil ON Alumni.id = Profil.alumni WHERE Alumni.mail = :e'; $this->con->executeQuery($query, array( ':e' => array($email, PDO::PARAM_STR), )); - $res = $this->con->getResults(); - if (count($res) == 0) { - return null; - } - return new Alumni($res[0]['mail'], $res[0]['mdp'], $res[0]['role'], $res[0]['nom'], $res[0]['prenom']); + return $this->con->getResults(); } public function getAll(){ $query='SELECT * FROM Alumni'; $this->con->executeQuery($query); - $res=$this->con->getResults(); - $array=[]; - foreach($res as $r){ - $array[]=new Alumni($r['mail'],$r['id'],$r['mdp'],$r['role']); - } - return $array; + return $this->con->getResults(); } public function getID(string $email) diff --git a/php/src/metier/Alumni.php b/php/src/metier/Alumni.php index 7b61e8a..f132ab2 100644 --- a/php/src/metier/Alumni.php +++ b/php/src/metier/Alumni.php @@ -3,7 +3,7 @@ namespace App\metier; class Alumni{ - + private int $id; /** * @var string Email */ @@ -28,8 +28,9 @@ class Alumni{ * @param Profil $profil */ - public function __construct(string $email, string $motDePasse, String $role, string $nom, string $prenom) + public function __construct(int $id,string $email, string $motDePasse, String $role, string $nom, string $prenom) { + $this->id = $id; $this->email = $email; $this->motDePasse = $motDePasse; $this->role = $role; @@ -76,4 +77,9 @@ class Alumni{ { return $this->profil->getNom(); } + + public function getId() + { + return $this->id; + } } \ No newline at end of file diff --git a/php/src/modele/UtilisateurModele.php b/php/src/modele/UtilisateurModele.php index a6c6afc..c7bcfd5 100755 --- a/php/src/modele/UtilisateurModele.php +++ b/php/src/modele/UtilisateurModele.php @@ -34,14 +34,14 @@ class UtilisateurModele { $con = new Connection(DB_HOST,DB_USER,DB_PASS); $gate = new AlumniGateway($con); - // Récupérez l'utilisateur avec l'email donné en utilisant AlumniGateway + + // Récupation de l'utilisateur avec l'email $utilisateur = $gate->findByEmail($email); - if ($utilisateur instanceof Alumni) { - // L'utilisateur existe, vérifiez le mot de passe - if (password_verify($mdp, $utilisateur->getPassword())) { + if ($utilisateur[0]!=null) { + // L'utilisateur existe, vérification du mot de passe + if (password_verify($mdp, $utilisateur[0]['mdp'])) { // Le mot de passe est correct, retournez l'utilisateur - //session_start(); - return $utilisateur; + return new Alumni($utilisateur[0]['id'],$utilisateur[0]['mail'], $utilisateur[0]['mdp'], $utilisateur[0]['role'],$utilisateur[0]['nom'],$utilisateur[0]['prenom']); } else { // Le mot de passe est incorrect, renvoyez null return null; @@ -68,10 +68,10 @@ class UtilisateurModele $profilGate = new ProfilGateway($con); // Insérez le nouvel utilisateur dans la base de données en utilisant AlumniGateway if ($gate->insert($email, $hashpassword, $role)) { - $alumni = $gate->getID($email); - if($profilGate->insert($alumni,$nom, $prenom,$email)){ + $id = $gate->getID($email); + if($profilGate->insert($id,$nom, $prenom,$email)){ // L'insertion a réussi, retournez le nouvel utilisateur - $nouvelUtilisateur = new Alumni($email, $hashpassword, $role,$nom,$prenom); + $nouvelUtilisateur = new Alumni($id,$email, $hashpassword, $role,$nom,$prenom); return $nouvelUtilisateur; } return null; diff --git a/php/templates/accueil.html b/php/templates/accueil.html index d6a5ab9..109b171 100755 --- a/php/templates/accueil.html +++ b/php/templates/accueil.html @@ -18,7 +18,7 @@
{% if prenom and nom %} - Bienvenue, {{ prenom }} {{ nom }}! + Bienvenue, {{ prenom }} {{ nom }} {{id}}! {% else %} Bienvenue, invité! {% endif %}