Problèmes d'authentification des utilisateurs et d'affichage des messages de vérification dans Laravel
<p>J'ai du mal à authentifier les utilisateurs et à afficher les messages de validation dans Laravel. Lors de la tentative de connexion, l'utilisateur n'est pas authentifié correctement et le message d'erreur d'authentification ne s'affiche pas. </p>
<p>J'ai suivi la documentation officielle de Laravel pour l'authentification et la vérification, mais même avec l'aide de l'intelligence artificielle, je n'ai pas obtenu les résultats escomptés.以下是我的一些代码片段:</p>
<pre class="brush:php;toolbar:false;">magasin de fonctions public (Request $request)
{
$request->valider([
'e-mail' => 'obligatoire|e-mail',
'mot de passe' => 'requis',
]);
$credentials = $request->only('email', 'password');
if (auth()->attempt($credentials)) {
$user = auth()->user();
$request->session()->put('user', $user);
return redirect()->route('home');
}
lancer ValidationException::withMessages([
'e-mail' => 'Email ou mot de passe invalide.',
]);
}</pré>
<p>这是HTML代码:</p>
<pre class="brush:php;toolbar:false;"><!DOCTYPE html>
<html lang="fr">
<tête>
<meta charset="UTF-8">
<titre>Connexion</titre>
≪/tête>
<corps>
<h1>Connexion</h1>
<form action="/connexion" method="post">
@csrf
<type d'entrée="e-mail" nom = "e-mail" placeholder="E-mail">
<type d'entrée="mot de passe" nom = "mot de passe" placeholder="Mot de passe">
<input type="soumettre" value="Connexion">
</formulaire>
</corps>
</html></pre>
<p>最后,是路由:</p>
<pre class="brush:php;toolbar:false;"><?php
utilisez IlluminateSupportFacadesRoute ;
utilisez AppHttpControllersUserController ;
utilisez AppHttpControllersHomeController ;
utilisez AppHttpControllersLoginController ;
Route::get('/users', [UserController::class, 'index'])->name('users.index');
Route::get('/users/create', [UserController::class, 'create']);
Route::post('/users', [UserController::class, 'store']);
Route::get('/users/{user}', [UserController::class, 'show']);
Route::get('/users/{user}/edit', [UserController::class, 'edit']);
Route::put('/users/{user}', [UserController::class, 'update']);
Route::delete('/users/{user}', [UserController::class, 'destroy'])->name('users.destroy');
Route::get('/home', [HomeController::class, 'index'])->name('home');
Route::get('/login', [LoginController::class, 'index'])->name('login');
Route::post('/login', [LoginController::class, 'store']);
?>≪/pré>
<p>确地对用户进行身份验证。J'utilise également <code>$request->validate([...])</code> dans la méthode <code>store()</code> Des règles de validation sont définies. Je m'attends à ce que si les champs e-mail et mot de passe ne sont pas remplis correctement, Laravel affichera un message d'erreur dans la vue <code>login.blade.php</code> </p>
<p>Lorsque je soumets le formulaire de connexion avec les informations d'identification correctes, Laravel ne parvient pas à authentifier correctement l'utilisateur et redirige vers la page de connexion sans afficher de message d'erreur. Lorsque je soumets le formulaire avec des champs vides ou des données invalides, le message d'erreur correspondant ne s'affiche pas non plus sur la vue. Au lieu de cela, le formulaire redirige vers la page de connexion sans aucun retour. </p>
<p>Je crois qu'en raison de quelque chose manquant ou mal configuré, Laravel n'authentifie pas correctement l'utilisateur et n'affiche pas le message de vérification. </p>
<p>Je serais très reconnaissant pour toute aide que vous pourriez nous apporter pour résoudre ce problème. </p>