validate([ 'Email' => ['required', 'email'], 'MotDePasse' => ['required'], ], [ 'Email.required' => 'L\'email est requis.', 'Email.email' => 'Veuillez entrer une adresse email valide.', 'MotDePasse.required' => 'Le mot de passe est requis.', ]); // Renommer les clés pour correspondre aux colonnes de la base de données $loginCredentials = [ 'Email' => $request->Email, 'password' => $request->MotDePasse, ]; if (Auth::attempt($loginCredentials)) { $request->session()->regenerate(); return redirect()->route('home')->with('success', 'Connexion réussie!'); } return back()->withErrors([ 'Email' => 'Les identifiants fournis sont incorrects.', ])->onlyInput('Email'); } // Afficher le formulaire d'inscription public function register() { return view('connexion.register'); } // Traiter l'inscription public function storeRegister(Request $request) { $request->validate([ 'Pseudo' => ['required', 'string', 'max:100', 'unique:utilisateurs,Pseudo'], 'Email' => ['required', 'string', 'email', 'max:255', 'unique:utilisateurs,Email'], 'MotDePasse' => ['required', 'string', 'min:8', 'confirmed'], ], [ 'Pseudo.required' => 'Le pseudo est requis.', 'Pseudo.unique' => 'Ce pseudo est déjà utilisé.', 'Email.required' => 'L\'email est requis.', 'Email.email' => 'Veuillez entrer une adresse email valide.', 'Email.unique' => 'Cet email est déjà utilisé.', 'MotDePasse.required' => 'Le mot de passe est requis.', 'MotDePasse.min' => 'Le mot de passe doit contenir au moins 8 caractères.', 'MotDePasse.confirmed' => 'Les mots de passe ne correspondent pas.', ]); // Récupérer le rôle par défaut "Utilisateur" $roleUtilisateur = Role::where('Nom', 'Utilisateur')->firstOrCreate(['Nom' => 'Utilisateur']); $user = Utilisateur::create([ 'Pseudo' => $request->Pseudo, 'Email' => $request->Email, 'MotDePasse' => Hash::make($request->MotDePasse), 'ID_Role' => $roleUtilisateur->ID_Role, 'Statut' => 'Actif', ]); Auth::login($user); return redirect()->route('home')->with('success', 'Inscription réussie! Bienvenue!'); } // Déconnexion public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect()->route('home')->with('success', 'Vous avez été déconnecté.'); } }