password hash

inscription-connection
Leo Tuaillon 1 year ago
parent 206e3ef580
commit d9ea1e83b7

@ -16,10 +16,10 @@ class FrontControleur
//TODO //TODO
], ],
"Membre" => [ "Membre" => [
"deconnection","proposerOffre","consulterProfil","modifierProfil","signaler", "deconnexion","proposerOffre","consulterProfil","modifierProfil","signaler",
], ],
"Utilisateur" => [ "Utilisateur" => [
"connection", "inscription", "accueil","consulterProfilLimite" "connexion", "inscription", "accueil","consulterProfilLimite"
] ]
); );
@ -45,7 +45,6 @@ class FrontControleur
$dVueErreur[] = 'Veuillez vous connecter'; $dVueErreur[] = 'Veuillez vous connecter';
echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]); echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]);
} else{ } else{
echo "controlleur membre instancié";
new MembreControleur(); new MembreControleur();
} }
}else{ }else{

@ -12,8 +12,8 @@ class MembreControleur extends UtilisateurControleur
$action = \App\config\Validation::nettoyerString($_REQUEST["action"]); $action = \App\config\Validation::nettoyerString($_REQUEST["action"]);
} }
switch ($action) { switch ($action) {
case "deconnection": case "deconnexion":
$this->deconnection(); $this->deconnexion();
break; break;
case "proposerOffre": case "proposerOffre":
$this->proposerOffre(); $this->proposerOffre();
@ -32,7 +32,7 @@ class MembreControleur extends UtilisateurControleur
} }
} }
protected function deconnection() protected function deconnexion()
{ {
session_destroy(); session_destroy();
header('Location: index.php?action=accueil'); header('Location: index.php?action=accueil');

@ -41,11 +41,11 @@ class UtilisateurControleur
{ {
global $twig; global $twig;
$dVueErreur = []; // Tableau pour stocker les erreurs, le cas échéant $dVueErreur = []; // Tableau pour stocker les erreurs, le cas échéant
$userModel = new \App\modele\UtilisateurModele();
if (isset($_POST['email'], $_POST['password'])) { if (isset($_POST['email'], $_POST['password'])) {
$email = \App\config\Validation::nettoyerString($_POST['email']); $email = \App\config\Validation::nettoyerString($_POST['email']);
$motDePasse = \App\config\Validation::nettoyerString($_POST['password']); $motDePasse = \App\config\Validation::nettoyerString($_POST['password']);
$userModel = new \App\modele\UtilisateurModele();
$utilisateur = $userModel->connection($email, $motDePasse); $utilisateur = $userModel->connection($email, $motDePasse);
if ($utilisateur instanceof \App\metier\Alumni) { if ($utilisateur instanceof \App\metier\Alumni) {
$_SESSION['utilisateur'] = $utilisateur; $_SESSION['utilisateur'] = $utilisateur;
@ -69,6 +69,7 @@ class UtilisateurControleur
$prenom = \App\config\Validation::nettoyerString($_POST['firstname']); $prenom = \App\config\Validation::nettoyerString($_POST['firstname']);
$email = \App\config\Validation::nettoyerString($_POST['email']); $email = \App\config\Validation::nettoyerString($_POST['email']);
$motDePasse = \App\config\Validation::nettoyerString($_POST['password']); $motDePasse = \App\config\Validation::nettoyerString($_POST['password']);
$hash = password_hash($motDePasse, PASSWORD_DEFAULT);
// verification que l'email est valide et unique : // verification que l'email est valide et unique :
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
@ -79,7 +80,7 @@ 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, $motDePasse); $nouvelUtilisateur = $userModel->inscription($prenom,$nom,$email, $hash);
if ($nouvelUtilisateur instanceof \App\metier\Alumni) { if ($nouvelUtilisateur instanceof \App\metier\Alumni) {
header('Location: index.php?action=inscription_success'); header('Location: index.php?action=inscription_success');
@ -98,9 +99,10 @@ class UtilisateurControleur
if (isset($_SESSION['utilisateur']) && $_SESSION['utilisateur'] instanceof \App\metier\Alumni) { if (isset($_SESSION['utilisateur']) && $_SESSION['utilisateur'] instanceof \App\metier\Alumni) {
$prenom = $_SESSION['utilisateur']->getPrenom(); $prenom = $_SESSION['utilisateur']->getPrenom();
$nom = $_SESSION['utilisateur']->getNom(); $nom = $_SESSION['utilisateur']->getNom();
} else { }
$prenom = "Utilisateur"; else{
$nom = "inconnu"; $prenom = null;
$nom = 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]);

@ -18,7 +18,7 @@ class UtilisateurModele
* @param string hash * @param string hash
* @return \App\metier\Alumni * @return \App\metier\Alumni
*/ */
public function connection(string $email, string $hash) : ? \App\metier\Alumni public function connection(string $email, string $mdp) : ? \App\metier\Alumni
{ {
$dsn = "mysql:host=localhost;dbname=dbAlica"; $dsn = "mysql:host=localhost;dbname=dbAlica";
$username = "Dev"; $username = "Dev";
@ -30,7 +30,7 @@ class UtilisateurModele
$utilisateur = $gate->findByEmail($email); $utilisateur = $gate->findByEmail($email);
if ($utilisateur instanceof \App\metier\Alumni) { if ($utilisateur instanceof \App\metier\Alumni) {
// L'utilisateur existe, vérifiez le mot de passe // L'utilisateur existe, vérifiez le mot de passe
if ($hash==$utilisateur->getPassword()) { if (password_verify($mdp, $utilisateur->getPassword())) {
// Le mot de passe est correct, retournez l'utilisateur // Le mot de passe est correct, retournez l'utilisateur
session_start(); session_start();
return $utilisateur; return $utilisateur;

@ -23,9 +23,9 @@
</ul> </ul>
<ul class="nav-items"> <ul class="nav-items">
<!-- Afficher boutons de connexion et d'inscription --> <!-- Afficher boutons de connexion et d'inscription -->
{% if pseudo %} {% if nom and prenom %}
<!-- Afficher bouton de déconnexion --> <!-- Afficher bouton de déconnexion -->
<a href="index.php?action=deconnection" class="button">Déconnexion</a> <a href="index.php?action=deconnexion" class="button">Déconnexion</a>
{% else %} {% else %}
<div class="login-register"> <div class="login-register">
<a href="index.php?action=connection" class="button">Connexion</a> <a href="index.php?action=connection" class="button">Connexion</a>

Loading…
Cancel
Save