Le contrôleur Laravel ne peut pas renvoyer les variables de session
P粉998100648
P粉998100648 2023-08-13 20:34:28
0
1
608
<p>J'apprends Laravel et j'essaie de mettre un message de réussite dans la session et de l'afficher dans la vue, mais cela ne semble pas fonctionner</p> <p>Voici mon code dans la section d'affichage</p> <pre class="brush:php;toolbar:false;"><div class="col-sm-12 col-xl-12"> @if (session()->has('msg')) <h5> {{ session('msg') }}</h5> @endif</pre> <p>C'est la fonction du contrôleur que j'utilise pour ajouter du nouveau contenu et mettre des messages dans la session</p> <pre class="brush:php;toolbar:false;">magasin de fonctions public (CatalogRequest $request) { $status=$this->catalog->insert([ 'nom' => $requête->nom, 'statut' => $requête->statut ]); si($statut){ $msg = "Répertoire ajouté avec succès"; $color = 'succès' ; }autre{ $msg = "Échec de l'ajout du répertoire"; $color = 'rouge'; } session()->put('msg',$msg); return redirect('catalogue'); }</pre></p>
P粉998100648
P粉998100648

répondre à tous(1)
P粉604848588

Essayez ceci

session()->flash('msg', ['text' => $msg, 'color' => $color]);

Dans le modèle de lame

<div class="col-sm-12 col-xl-12">
    @if (session()->has('msg'))
        <h5 style="color: {{ session('msg.color') }}">{{session('msg.text') }}</h5>
    @endif
</div>

Dans ce code, je me suis assuré d'inclure les importations correctes, d'utiliser la bonne méthode pour l'insertion des données et d'utiliser la méthode flash() au lieu de la méthode put() pour stocker temporairement le message dans la session. De plus, la couleur du message est également stockée dans la session pour un meilleur contrôle du style.

Vous pouvez également essayer de le lier en utilisant la méthode WITH.

return back()->with('msg', 'Your message');

Vous pouvez utiliser redirect() redirect()->route() et d'autres méthodes. Merci également de lire attentivement la documentation, vous en tirerez beaucoup d'idées.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal