- Ajout dans inscription de la confirmation du mot de passe.

This commit is contained in:
2025-01-30 14:48:12 +01:00
parent f6f7edcf34
commit 4a84f5ec7d
5 changed files with 98 additions and 78 deletions

View File

@ -1,5 +1,4 @@
<?php
namespace App\Controller;
use App\Entity\User;
@ -14,9 +13,9 @@ use Doctrine\ORM\EntityManagerInterface;
class RegistrationController extends AbstractController
{
private $entityManager;
private $passwordHasher; // Correction du nom de la variable
private $passwordHasher;
public function __construct(EntityManagerInterface $entityManager, UserPasswordHasherInterface $passwordHasher) // Correction ici
public function __construct(EntityManagerInterface $entityManager, UserPasswordHasherInterface $passwordHasher)
{
$this->entityManager = $entityManager;
$this->passwordHasher = $passwordHasher;
@ -30,16 +29,20 @@ class RegistrationController extends AbstractController
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
// Hacher le mot de passe avant de persister l'utilisateur
$plainPassword = $user->getPassword(); // Récupération du mot de passe brut
$hashedPassword = $this->passwordHasher->hashPassword($user, $plainPassword); // Hachage du mot de passe
$user->setPassword($hashedPassword); // Remplacer le mot de passe brut par le mot de passe haché
$plainPassword = $user->getPassword();
$confirmPassword = $form->get('confirmPassword')->getData();
if ($plainPassword !== $confirmPassword) {
$this->addFlash('error', 'Les mots de passe ne correspondent pas.');
return $this->redirectToRoute('app_registration');
}
$hashedPassword = $this->passwordHasher->hashPassword($user, $plainPassword);
$user->setPassword($hashedPassword);
// Persist de l'utilisateur haché
$this->entityManager->persist($user);
$this->entityManager->flush();
// Message flash de succès
$this->addFlash('success', 'Votre compte a été créé avec succès !');
return $this->redirectToRoute('home');
}