ajout de id dans les alumni

AffichageProfil
Leo Tuaillon 1 year ago
parent be622c2be6
commit a92e9d4f1d

@ -78,7 +78,9 @@ class UtilisateurControleur
if (isset($_POST['email'], $_POST['password'])) { if (isset($_POST['email'], $_POST['password'])) {
$email = Validation::nettoyerString($_POST['email']); $email = Validation::nettoyerString($_POST['email']);
$motDePasse = Validation::nettoyerString($_POST['password']); $motDePasse = Validation::nettoyerString($_POST['password']);
$utilisateur = $userModel->connection($email, $motDePasse); $utilisateur = $userModel->connection($email, $motDePasse);
if ($utilisateur instanceof Alumni) { if ($utilisateur instanceof Alumni) {
$_SESSION['utilisateur'] = $utilisateur; $_SESSION['utilisateur'] = $utilisateur;
header('Location: index.php?action=accueil'); header('Location: index.php?action=accueil');
@ -112,14 +114,21 @@ class UtilisateurControleur
$dVueErreur[] = "L'adresse email est déjà utilisée."; $dVueErreur[] = "L'adresse email est déjà utilisée.";
} }
} }
$nouvelUtilisateur = $userModel->inscription($prenom,$nom,$email, $hash); try {
$nouvelUtilisateur = $userModel->inscription($prenom,$nom,$email, $hash);
if ($nouvelUtilisateur instanceof Alumni) { if ($nouvelUtilisateur instanceof Alumni) {
header('Location: index.php?action=inscription_success'); header('Location: index.php?action=inscription_success');
exit(); exit();
} else { } else {
$dVueErreur[] = "L'inscription a échoué, veuillez réessayer.";
}
} catch (\Exception $e) {
$dVueErreur[] = "L'inscription a échoué, veuillez réessayer."; $dVueErreur[] = "L'inscription a échoué, veuillez réessayer.";
$twig->render('inscription.html', ['dVueErreur' => $dVueErreur]);
} }
} }
echo $twig->render('inscription.html', ['dVueErreur' => $dVueErreur]); echo $twig->render('inscription.html', ['dVueErreur' => $dVueErreur]);
} }
@ -131,13 +140,15 @@ class UtilisateurControleur
if (isset($_SESSION['utilisateur']) && $_SESSION['utilisateur'] instanceof Alumni) { if (isset($_SESSION['utilisateur']) && $_SESSION['utilisateur'] instanceof Alumni) {
$prenom = $_SESSION['utilisateur']->getPrenom(); $prenom = $_SESSION['utilisateur']->getPrenom();
$nom = $_SESSION['utilisateur']->getNom(); $nom = $_SESSION['utilisateur']->getNom();
$id = $_SESSION['utilisateur']->getId();
} }
else{ else{
$prenom = null; $prenom = null;
$nom = null; $nom = null;
$id = null;
} }
//aller sur la page d'accueil avec le nom et prenom de l'utilisateur //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]);
} }
protected function inscription_success() protected function inscription_success()

@ -1,9 +1,6 @@
<?php <?php
namespace App\gateway; namespace App\gateway;
use PDO; use PDO;
use App\metier\Alumni;
use App\metier\Role;
use App\metier\Profil;
class AlumniGateway class AlumniGateway
{ {
@ -44,30 +41,21 @@ class AlumniGateway
} }
public function findByEmail(string $email){ public function findByEmail(string $email){
$query = 'SELECT Alumni.mail, Alumni.mdp, Alumni.role, Profil.nom, Profil.prenom $query = 'SELECT Alumni.id, Alumni.mail, Alumni.mdp, Alumni.role, Profil.nom, Profil.prenom
FROM Alumni FROM Alumni
LEFT JOIN Profil ON Alumni.id = Profil.alumni LEFT JOIN Profil ON Alumni.id = Profil.alumni
WHERE Alumni.mail = :e'; WHERE Alumni.mail = :e';
$this->con->executeQuery($query, array( $this->con->executeQuery($query, array(
':e' => array($email, PDO::PARAM_STR), ':e' => array($email, PDO::PARAM_STR),
)); ));
$res = $this->con->getResults(); return $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']);
} }
public function getAll(){ public function getAll(){
$query='SELECT * FROM Alumni'; $query='SELECT * FROM Alumni';
$this->con->executeQuery($query); $this->con->executeQuery($query);
$res=$this->con->getResults(); return $this->con->getResults();
$array=[];
foreach($res as $r){
$array[]=new Alumni($r['mail'],$r['id'],$r['mdp'],$r['role']);
}
return $array;
} }
public function getID(string $email) public function getID(string $email)

@ -3,7 +3,7 @@
namespace App\metier; namespace App\metier;
class Alumni{ class Alumni{
private int $id;
/** /**
* @var string Email * @var string Email
*/ */
@ -28,8 +28,9 @@ class Alumni{
* @param Profil $profil * @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->email = $email;
$this->motDePasse = $motDePasse; $this->motDePasse = $motDePasse;
$this->role = $role; $this->role = $role;
@ -76,4 +77,9 @@ class Alumni{
{ {
return $this->profil->getNom(); return $this->profil->getNom();
} }
public function getId()
{
return $this->id;
}
} }

@ -29,23 +29,21 @@ class UtilisateurModele
{ {
$con = new Connection(DB_HOST,DB_USER,DB_PASS); $con = new Connection(DB_HOST,DB_USER,DB_PASS);
$gate = new AlumniGateway($con); $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); $utilisateur = $gate->findByEmail($email);
if ($utilisateur instanceof Alumni) { if ($utilisateur[0]!=null) {
// L'utilisateur existe, vérifiez le mot de passe // L'utilisateur existe, vérification du mot de passe
if (password_verify($mdp, $utilisateur->getPassword())) { if (password_verify($mdp, $utilisateur[0]['mdp'])) {
// Le mot de passe est correct, retournez l'utilisateur // Le mot de passe est correct, retournez l'utilisateur
session_start(); return new Alumni($utilisateur[0]['id'],$utilisateur[0]['mail'], $utilisateur[0]['mdp'], $utilisateur[0]['role'],$utilisateur[0]['nom'],$utilisateur[0]['prenom']);
return $utilisateur;
} else { } else {
// Le mot de passe est incorrect, renvoyez null
return null; return null;
} }
} else { } else {
// L'utilisateur n'existe pas, renvoyez null
return null; return null;
} }
} }
/** /**
* @description s'inscrire * @description s'inscrire
@ -63,10 +61,10 @@ class UtilisateurModele
$profilGate = new ProfilGateway($con); $profilGate = new ProfilGateway($con);
// Insérez le nouvel utilisateur dans la base de données en utilisant AlumniGateway // Insérez le nouvel utilisateur dans la base de données en utilisant AlumniGateway
if ($gate->insert($email, $hashpassword, $role)) { if ($gate->insert($email, $hashpassword, $role)) {
$alumni = $gate->getID($email); $id = $gate->getID($email);
if($profilGate->insert($alumni,$nom, $prenom,$email)){ if($profilGate->insert($id,$nom, $prenom,$email)){
// L'insertion a réussi, retournez le nouvel utilisateur // 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 $nouvelUtilisateur;
} }
return null; return null;

@ -15,7 +15,7 @@
<h1>Accueil</h1> <h1>Accueil</h1>
<!-- Bienvenu suivie du mail des informations sessions de l'utilisateur --> <!-- Bienvenu suivie du mail des informations sessions de l'utilisateur -->
<p>{% if prenom and nom %} <p>{% if prenom and nom %}
Bienvenue, {{ prenom }} {{ nom }}! Bienvenue, {{ prenom }} {{ nom }} {{id}}!
{% else %} {% else %}
Bienvenue, invité! Bienvenue, invité!
{% endif %}</p> {% endif %}</p>

Loading…
Cancel
Save