Dans ce tutoriel, nous allons créer une nouvelle page /mon-compte
et rediriger nos utilisateurs en cas de réussite de la connexion. En cas d'échec, nous allons apprendre à les rediriger vers le formulaire en affichant une erreur.
Créer une nouvelle page /mon-compte
Pour créer une nouvelle page, nous avons besoin d'ajouter une route, dans le fichier routes/web.php
:
Route::view('/mon-compte', 'mon-compte');
Et de créer une nouvelle vue ressources/views/mon-compte.blade.php
:
@extends('layout')
@section('contenu')
<div class="section">
<h1 class="title is-1">Mon compte</h1>
<p>Vous êtes bien connecté.</p>
</div>
@endsection
Redirection vers la nouvelle page
En cas de réussite, donc si $resultat
est vrai, nous pouvons rediriger vers l'URL /mon-compte
avec la fonction redirect()
:
if ($resultat) {
return redirect('/mon-compte');
}
Redirection en cas d'échec
En cas d'échec, nous pouvons soit rediriger vers /connexion
avec redirect('/connexion')
soit dire à Laravel de rediriger vers la page précédente avec return back()
.
La redirection vers le formulaire fonctionne mais l'adresse email a disparu, et il n'y a aucun message d'erreur.
Pour rediriger avec l'adresse mail, nous pouvons utiliser la fonction withInput()
.
return back()->withInput();
Pour rediriger avec un message d'erreur, nous pouvons utiliser la fonction withErrors()
:
return back()->withInput()->withErrors([
'email' => 'Vos identifiants sont incorrects.',
]);