password hash

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

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

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

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

@ -18,7 +18,7 @@ class UtilisateurModele
* @param string hash
* @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";
$username = "Dev";
@ -30,7 +30,7 @@ class UtilisateurModele
$utilisateur = $gate->findByEmail($email);
if ($utilisateur instanceof \App\metier\Alumni) {
// 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
session_start();
return $utilisateur;

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

Loading…
Cancel
Save